下载此文档

植物大战僵尸设计思路.doc


文档分类:生活休闲 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
Forpersonaluseonlyinstudyandresearch;mercialuse首先游戏设计,由于植物大战僵尸是2d游戏,。View有两个重点方法onDraw用于绘制,onTouchEvent用户触摸屏幕执行用来和用户交互。在构造函数进行相关初始化以后然后启动一个线程不断的循环执行绘图与逻辑函数这样就是一个简单的游戏框架。因为View不是双缓冲的所以需要创建一个图片然后使用这个图片的Canvas对象进行绘制,进行屏幕适应的时候在View的onDraw函数中将这张图片缩放到屏幕等大小,这样在任何屏幕下我们的画面都是全屏显示的,由于是在另外的线程中更新画面的,安卓不支持在非UI线程中更新画面,所以View提供了一个方法postInvalidate用于在非UI线程中更新画面。首先了解植物大战僵尸含有哪些元素,有道具,有阳光,有僵尸,有能种植植物的草坪,有植物。有子弹。我们这里只是进行设计简单的实现游戏,植物有单发射手,双发射手,寒冰射手,僵尸有普通僵尸,红帽僵尸,铁通僵尸。,阳光会从天空掉落和植物生成,从天空掉落的阳光会进行掉落运动,植物生成的阳光是禁止不动的,所以阳光有一个isStatic是否静止不动的布尔型标识,然后阳光在不是禁止不动的时候y坐标要增加就是下落,然后停止。所以在构造函数中随机一个目标y值,阳光非禁止不动状态下y坐标不断增加,当到达目标y值时候就把状态更改为禁止不动,其次阳光有一个消失标识,采用Vector动态数组存储阳光对象,绘制时候绘制该动态数组的所有阳光对象,如果该阳光的消亡标识为真就把该阳光从容器里面进行移除,阳光的消亡标识有两种情况下变成真,一是用户点击,二是到了一定时间消亡标识为真,所以阳光有一个计数器变量count,然后不断的自加,当到达阳光的消亡时间就让消亡标识为真,其次是用户点击了阳光,判断用户点到了阳光可以使用java中的Rect对象的contains方法判断点在矩形范围内,用户点击屏幕触摸坐标在阳光的矩形范围就让消亡标识为真。绘制的时候阳光要不断旋转,声明一个角度变量angle不断自加然后以阳光的中心点为旋转中心旋转阳光即可。,草坪类的作用是用来种植植物,总共有5x9块草坪,横9竖5总共45块草坪,草坪的属性相对较于简单,就有一个是否可种植植物的布尔型标识,有植物在这块草坪上就不能进行植物种植了,所以声明一个5x9的二维草坪数组,然后把草坪坐标宽高传进去,其次草坪要有一个编号用来传递给植物用于植物铲除索引出该草坪改变它的是否可种植植物标识,草坪的编号对应0到44,草坪的绘制方法用草坪的编号值%2除以2的余数如果是0就绘制蓝色草坪否则绘制绿色草坪,这里我就是直接绘制一个矩形,然后在View的绘制函数中for循环绘制所有草坪这样我们就可以看到蓝绿相间的草坪了,当然草坪的触摸方法还没写先写好其他类再接着写。,僵尸有一个整形变量type代表僵尸的类型,0代表普通僵尸,1代表红帽僵尸,2代表铁桶僵尸,其次僵尸有一个整形变量hp代表僵尸的血量,然后有一个isMove布尔型标识表示僵尸是否可移动,僵尸在碰到植物的时候让僵尸停止移动即正在吃食物

植物大战僵尸设计思路 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人雾里看花
  • 文件大小18 KB
  • 时间2019-03-21
最近更新