原生2018安卓原生系统手机不是很流畅吗,怎么玩个小游戏卡成

可能系统的问题吧 没有更好的兼容 只是可以正常使用而已 那就等到大神 慢慢适配吧

没有办法。除非你限制CPU使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 /lmj/article/details/

博主本想踏入游戏开放行业,无奈水太深,不会游泳;于是乎,只能继续开发应用,但是原生Android也能开发游戏么,2048、像素鸟、别踩什么来着;今天给大家带来一篇2048的开发篇,别怕不分上下文,或者1、2、3、4,一篇包你能玩happy~虽然我从来没有玩到过2048!!!其实大家也可以当作自定义控件来看~~~

特别说明一下,游戏2048里面的方块各种颜色来源于:/detail/qq/7155467,这个2048的代码中,其他代码,太多,未参考;特此感谢分享;大家也可以下载下,对比学习下;

接下来贴个我们项目的效果图:


ok 看完效果图,我就准备带领大家征服这款游戏了~~~

贴一张静态图,开始对我们游戏的设计:


可以看到,游戏其实就是一个容器,里面很多个方块,触摸容器,里面的方块的形态会发生变化。那么:

首先得有个number,显示数字嘛,然后绘制的时候根据number绘制背景色;还需要呢?嗯,需要正方形边长,再考虑下,这个边长应该Item自己控制么?显然不是的,Game2048Layout 是个n*n的面板,这个n是不确定的,所以Item的边长肯定是Game2048Layout 计算好传入的。这样必须的属性就这两个。

我们在onMeasure里面得到Layout的宽和高,然后根据n*n,生成一定数目的Item,为其设置宽和高,放置到Layout中,这样整个游戏的布局就做好了;绘制的细节上:Item间有横向与纵向的间距,所以需要设置这个值,叫做mMargin。然后Item的边长 =  ( Layout边长 - (n-1)*mMagin ) / n ; 

剩下的就是onTouchEvent里面去判断用户手势了,然后就行各种逻辑操作了~

// 设置Layout的内边距,四边一致,设置为四内边距中的最小值

我们在构造方法里面得到Item间的边距(margin)和我们容器的内边距(padding,),这个值应该四边一致,于是我们取四边的最小值;这两个属性可以抽取为自定义的属性;然后初始化了我们的mGestureDetector

有了margin和padding,我们就可以计算我们item的边长了。这个计算过程肯定在onMeasure里面,因为我们需要在onMeasure获取容器的宽和高

* 测量Layout的宽和高,以及设置Item的宽和高,这里忽略wrap_content 以宽、高之中的最小值绘制正方形

很简单,代码主要就是设置个接口,当发生加分已经游戏结束时会交给Activity去处理~~~如果喜欢,你可以在一个界面放4个游戏~~~

当然了游戏Item的个数也可以动态设置~~~最后贴一个5*5游戏的截图~~


好了,2048到此结束,拿只笔开始设计,然后根据自定义View的经验去写,相信你可以学会不少东西~~~

并且我们的View是抽取出来的,其实换成图片也很简单~~

今天又看了war3十大经典战役,献上war3版,代码就不贴了,改动也就几行代码,贴个截图,纪念我们曾经的war3~~~:


建了一个QQ群,方便大家交流。群号:

博主部分视频已经上线,如果你不喜欢枯燥的文本,请猛戳(初录,期待您的支持):



我要回帖

更多关于 2018安卓原生系统手机 的文章

 

随机推荐