1. 植物大战僵尸这样的游戏是如何制作出来的
主要就是DirectX或者OpenGL,不过植物大战僵尸好象有mac版,所以可以判断它用的应该是跨平台的OpenGL。
主要就是用OpenGL显示各种2D图形,用C++实现游戏的逻辑,例如网格地图,玩家金钱分数,各种旗帜(完成游戏各种进度变量标识),各种植物的基础数据(生命伤害等等),各种僵尸的基础数据(生命伤害等等),攻击判定等等。
其实大部分图形游戏(无论是2D还是3D)最难的是图形,很多游戏程序上并不是非常复杂,图形才是一个游戏的难点。。。
2. 如何用C#实现植物大战僵尸的编程啊
画图
把做好的图片画上去,僵尸走动就是一个重绘过程,当然你要多张图片
僵尸向前走的图片,1,2,3,4,5
时间控件
每过一段时间
坐标向前移动,,画1,然后清除画布,再画2...就是一个前进过程..
豌豆攻击子弹
就是
每过一段时间
坐标就向前移动,而且不断判断
其坐标是否在僵尸身体的坐标范围内,
不说了
我的方法就是一个不断重画的过程,剩下的东西自己想
如楼上所说...这有点难
3. scratch2.0怎么编植物大战僵尸
角色说明
1)三个卡牌:阳光卡牌、向日葵卡牌、豌豆卡牌。卡牌位置固定。阳光卡牌下方有阳光数量变量。收集阳光以后,阳光数量增加。使用阳光,可以终止豌豆射手或者向日葵,种植以后,扣减对应的阳光数。
2)背景:草坪、围栏、终点是房子。如果僵尸走到房子边上,就开始吃“脑子”,脑子被吃完,游戏则结束。
3)阳光:阳光会定期随机飘落,可以点击,收集阳光。
4)豌豆射手:会摆动,会发豌豆子弹,打击僵尸。
5)豌豆子弹:种植豌豆以后,豌豆开始发射豌豆子弹。
6)僵尸:分成两个角色,一个是普通前进的角色;一个是碰到向日葵、豌豆射手或到达房子时,吃植物或脑子动作的角色。开始吃的时候,切换成开始吃的角色。
7)向日葵:向日葵会产生阳光。
铁桶僵尸
僵尸被打中两次即消失。
僵尸从屏幕右边随机出现,向左移动。到达左边房子以后,记录位置,广播开始脑子,然后显示第二个开吃脑子的僵尸。如果碰到子弹,打中次数减少1,如果打中次数为零,则打死了,删除克隆体。这里打中次数就是僵尸的生命值。
吃脑子的僵尸
收到吃脑子的广播以后,克隆自己,移动到原僵尸位置,显示,开吃脑子。这里设置了吃十次以后,僵尸消失。
种植豌豆射手(豌豆射手卡牌)
阳光数大于100,可以种植豌豆射手。种植时,立即克隆一个豌豆射手,减少阳光数,否则提示阳光不足。
豌豆射手
豌豆射手启动时,切换造型,实现动画效果。
豌豆射手启动时,跟随鼠标移动,当鼠标被按下以后,记录鼠标的位置,这个变量为角色变量,非全局变量。种植豌豆射手一段时间以后,开始发射豌豆。这里有个关键点,就是鼠标按下,广播发射豌豆以后,要停止当前脚本,即豌豆射手固定在草坪上。
豌豆子弹
接收到豌豆射手发射子弹的广播以后,克隆自己。然后移动到豌豆射手位置,开始向右移动,碰到边缘或者僵尸,重新回到原点,注意不是删除克隆体。
如果打中了僵尸,则子弹需要移回豌豆射手。(这里可改进:如果碰到僵尸,需要考虑射手和僵尸的距离,经过一段时间后再发射下一个豌豆子弹。否则僵尸靠近射手时,子弹的发射速度将加快,这不合理。)
种植向日葵(向日葵卡牌)
阳光数大于50,可以种植向日葵。种植时,立即克隆一个向日葵,减少阳光数,否则提示阳光不足
向日葵
向日葵启动时,切换造型,实现动画效果。
向日葵启动时,跟随鼠标移动,当鼠标被按下以后,记录鼠标的位置,这个变量为角色变量,非全局变量。经过一段时间以后,要停止当前脚本,即豌豆射手固定在草坪上。还未制作向日葵产生太阳的功能。
阳光
初始化阳光。每5秒克隆产生一个阳光。
克隆后,阳关在一定范围内随机产生,然后在一秒内,随机滑行到另外一个地方,停留三秒。点击阳光时,阳光滑回卡牌,阳光增加50。
4. CE制作植物大战僵尸无冷却
网上有很多介绍的,我简单说一下我找的方法,我找的跟别人的指针不太一样,不过效果是一样的
打开游戏,当游戏正式种植状态的时候,暂停,CE转入进程,首次扫描(未知的值)
回到游戏,取消暂停,点选第一框里的植物种植,这时,植物开始冷却,暂停,切换到CE扫描(变动的值),
回到游戏,不要取消暂停,切换到CE扫描(未变动的值),
回到游戏,取消暂停,等植物完全冷却,暂停,切换到CE扫描(与首次扫描相同的值)
这时搜索出来的地址应该很少了,如果还没找到,重复2-4步
这里假设我们找到了地址,那么现在就是找基址了,网上的教程应该够用了吧
这是我找到的基址
006a9ec0
下面是指针
偏移1 768
偏移2 1c
偏移3 140
偏移4 4c(这里就是我们要改的指针了,这是第一个框里的植物,经扫描发现第二个植物的是9C,9C-4C=50,也就是说第二个植物的偏移是第一个植物+50,以此类推,第三个植物就是9C+50=EC,第四植物……)
那么要实现无冷却要设置多少植合适呢?这里我也遇到了一个小问题,因为第一植物在完全冷却的状态下返回的值是801,那么就锁定为801好了,第二个也设成801,第三个设成801就不成了,经分析原来向日葵和豌豆射手预设的值是801,其它植物都是5001,那么我把它们都设置5001,然后……嗯,相当成功
提示一下,金钱是以10为单位的,也就是说游戏里是10,那么搜索就是1,游戏里是220,搜索就是22
5. 用编程猫怎么做植物大战僵尸
这个需要用到编程猫的角色素材、场景木块、代码积木块等元素,对于孩子的编程基础要求也较高,需要孩子对这个游戏的逻辑有明显的认知水平,不是一朝一夕就能做出来的。编程猫每堂课编程老师都会带着孩子去完成一个项目或者小游戏,同时也能做出一个作品,寓教于乐,让小朋友更加有成就感。