【精品】贪吃蛇源码分析

【精品】贪吃蛇源码分析

ID:43605362

大小:462.82 KB

页数:11页

时间:2019-10-11

【精品】贪吃蛇源码分析_第1页
【精品】贪吃蛇源码分析_第2页
【精品】贪吃蛇源码分析_第3页
【精品】贪吃蛇源码分析_第4页
【精品】贪吃蛇源码分析_第5页
资源描述:

《【精品】贪吃蛇源码分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Android—snake源代码分析代码结构分析SnakeSnakeViewTileViewCoordinate主游戏窗口游戏视图类,是实现游戏的主体类一个处理图片或其它这是一个包括两个参数,用于记录X轴和Y轴简单类,其中包括一个比较函数.RefshHandler:JIJ于更新视图Snake这个类是游戏的主游戏窗口,是框架容器,-[jjSnake.java日••❻Snakeii••“dSICICLE_KEY□mSnakeViewdonCreatebundle)onPause0Q,onSavelnstanceSebundle)1.游戏的开始:oncreate此外的

2、亮点是:setContentView(R.layout.snake_layout);设置窗口的布局文件,这里Androidl23给人家说明的是,这里的snake_layout使用了H定义资源标签的方式,人家注意学习:这里我们可以看到来SnakeView这个派生类的名称,由于Android内部的R.资源不包含SnakeView类,所以我们必须写清处Package,比如com.exmple.android.snake.SnakeView然后和其他控件使用一样,都是一个id然后宽度、高度、以及自定义的标签tileSize(尾巴长度),如下:

3、ndroid.snake.SnakeViewandroid:id=n0+id/snake"android:layout_width=fill_parent"android:layout_height="fill_parent"ti丄eSize="22"/>2.onPause:关于这点,人家可以参考下在我blog中关于active生命周期hMp:〃xusaomaiss.iavaeye.com/acimin/blogs/379826在玩游戏过程中,如果有来电或是其它爭件中断,这时应该把当前状态保存。以便返回时,还可以继续玩游戏。这就使用onSavelnstanceS

4、tate实现保存当前状态。TileView注:此部分解析来自:Android示例程序Snmke贪食蛇代码分析(二)TileView,从名称上不难看出这是一个方砖类,就是生成一个方块。TileView使用了Android'卜台的显示基类View,View类是直接从java.lang.Object派生出来的,是各种控件比如TextviewsEditView的基类,当然包括我们的窗IIActivity类,这些在SDK文档中都说的比较清楚。这里泄义了5个int型全局的变屋,分别是方砖的数MmTileSize;方砖水平x防线的数mXTileCount;以及竖玄y方向上的方

5、砖数量mYTileCount,下HU是一个和对偏移位置mXOffset和mYOffset;这里androidl23主让要大家了解如何自定义View在Android廿发中,在一个View类中主要是重写onSizeChanged方法來控制改变部分,以及onDraw实现闹布的修改,实现的简写如下:^OverrideprotectedvoidonSizeChanged(intw,inth,intoldw,intoldh){}(^Override我们还重载了一种包含下而是基本框架。intdefStyle)publievoidonDraw(Canvascanvas){sup

6、er.onDraw(canvas);}{super(context,我们自定义的Tileview类需要HC添加一个构造方法,根据需要,样式的方法,这里大家可以多看下Gellery控件的实现,就好理解了,publicTileView(Contextcontext,AttributeSetattrs,{super(contextzattrs,defStyle);}publicTileView(Contextcontext,AttributeSetattrs)trs);}在贪食蛇游戏中我们知道Snake是移动的,所以加入了一个清除显示的clearTiles方法,通过一

7、个二维数组保存一个gird网格型的运动轨迹,下一次我们将会讲解android贪食蛇的游戏逻辑和完整的关联拼接实现。SnakeView在这个类中实现的游戏的实体,从游戏需求的角色,这个游戏包括了如下方面:1.随机产生小苹果,apples这里是复数,当然是是人于1个苹果,所以代码屮产生了两个苹果。2.游戏状态管理3.画蛇,view的更新4.吃掉苹果后小蛇状态的变化5.画围墙如果实现吃掉苹果小蛇速度变快?关键是:mMoveDelay这个变量,以下是涉及到这个变量的函数,0JJ-com.example.android.snake一src一Snake二QSnakeView

8、回iriitNewGam

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。