anroid植物大战僵尸简易版小游戏

文章目录

  • 一.游戏背景
  • 二、代码内容解析
    • 1.项目展示
  • 总结

# 前言

提示:
小游戏植物大战僵尸,这个是随便做的,不是大项目,所以做的没那么认真


提示:以下是本篇文章正文内容,下面案例可供参考

一.游戏背景

游戏植物大战僵尸作为一个很火的电脑游戏,现在应用到手机做一个app会成为许多人热捧的一款游戏 项目展示

二、代码内容解析

1.项目展示

代码如下(示例):
开局界面如下

游戏进行界面:

大体上就是这样,植物原地不懂,但可以摇动,僵尸可以走动,僵尸会吃掉植物在引动过程中,有一个僵尸通过草坪边缘就算僵尸成功,僵尸数量没有上线。


## 2.图片调用的说明<font color=#999AAA >
主界面的设置> package com.cyzyedu.pvz;
>
>
> import android.app.Activity; import android.app.DirectAction; import
> android.os.Bundle;
>
> import org.cocos2d.layers.CCScene; import
> org.cocos2d.nodes.CCDirector; import
> org.cocos2d.opengl.CCGLSurfaceView;
>
> public class MainActivity extends Activity {
>
>     @Override
>     protected void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         CCGLSurfaceView view = new CCGLSurfaceView(this);
>         setContentView(view);
>
>         CCDirector director = CCDirector.sharedDirector();
>         director.setDeviceOrientation(CCDirector.kCCDeviceOrientationLandscapeLeft);
>         director.attachInView(view);
>         CCScene scene = CCScene.node(); //        FirstPlayer firstPlayer = new FirstPlayer();
>         scene.addChild(new GameLayer());
>         //下面必须设置,否则出错
>         // 宽度1280给后面留出马路,高度跟地图高度一致,这样才能显示全图
>         director.setScreenSize(1280,768);
>
>         director.runWithScene(scene);
>         director.setDisplayFPS(true);
>     }
>
>     @Override
>     protected void onDestroy() {
>         super.onDestroy();
>         System.exit(0);
>     } }
将会呈现如下的效果:
如上图植物的摇动和僵尸的移动是通过9张分别植物在不同状态下的动作图片在循环中不断被调用植物:> public Plants(CGPoint point) {
>         super("Peashooter/Frame00.png");
>         setAnchorPoint(0, 0);
>         setPosition(point);
>         shake();
>     }
>     public void shake() {
>         CCAction animate = CommonUtils.animate("Peashooter/Frame%02d.png", 12, true);
>         this.runAction(animate);
>     }
僵尸:
> public Pea() {
>         super("pea/bullet.png");
>         this.setActive(false);
>     }
>     public void move() {
>         float t = (1280 - getPosition().x) / speed;
>         CCMoveTo ccMoveTo = CCMoveTo.action(t, ccp(1280, getPosition().y));
>         CCSequence ccSequence = CCSequence.actions(ccMoveTo, CCCallFunc.action(this, "destroy"));
>         this.runAction(ccSequence);
>     }

僵尸和植物的声明值攻击速度的描述,其实都是僵尸和植物类的成员
private int attack = 10;
private int speed = 100;
当植物和僵尸的血量低于100时,即销毁这个植物或者这个僵尸

public void destroy() {
this.active = false;
removeSelf();
}
僵尸随机出现

 * 随机出现僵尸
public void generateZombies(float f) {CGPoint mapPosition = map.getPosition();if (mapPosition.x == 0 && mapPosition.y == 0) {ArrayList<CGPoint> pathList = CommonUtils.loadPoint(map, "path");Random random = new Random();int line = random.nextInt(5);CGPoint startPoint = pathList.get(line * 2);CGPoint endPoint = pathList.get(line * 2 + 1);Zombies zombies = new Zombies(startPoint, endPoint);map.addChild(zombies);zombiesArrayList.add(zombies);}
}

子弹由植物射出

public void attack(Plants plants) {
this.plants = plants;
this.stopAllActions();
CCAction animate =
CommonUtils.animate(“zombies/attack/Frame%02d.png”, 7, true);
this.runAction(animate);
CCScheduler scheduler = CCScheduler.sharedScheduler();
scheduler.schedule(“attackPlant”, this, 1, false);
}

子弹攻击到僵尸

public void attackPlant(float f) {
if (plants != null) {
plants.attacked(attack);
if (plants.getLife()<0){
this.stopAllActions();
CCScheduler.sharedScheduler().unschedule(“attackPlant”,this);
setAttack(false);
move();
}
}
}

僵尸或者植物死亡即生命死亡
public void attacked(int attack) {
life -= attack;
if(life<=0){
destroy();
}
}


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了植物大战僵尸游戏的简要解析。

作者:ggj只爱服务器
网址:https://editor.csdn.net/md?not_checkout=1&articleId=121892619

植物大战僵尸anroid版相关推荐

  1. 植物大战僵尸java版_植物大战僵尸:M8版 JAVA版下载

    植物大战僵尸 for 魅族M8 魅族M8版的植物大战僵尸推出时间比iPhone版的还要早,但是其开发团队Yeti工作室由国内的一些魅族M8爱好者组成,所以截至目前为止,在界面和内容上仍存在一定的不足, ...

  2. 兼容MacOS10.15以上系统的植物大战僵尸_植物大战僵尸mac版

    以前的植物大战僵尸Mac版的都不能在MacOS10.15以上系统玩了.今天为大家带来完美兼容MacOS10.15以上系统的植物大战僵尸,我们可以放心的macOS 10.15系统以上的玩耍了. 以前的植 ...

  3. ubuntu20.04玩植物大战僵尸95版

    注意 原版植物大战僵尸玩起来有点乏味,95版玩起来就快乐许多,例如第一次碰到大爷和二爷,直接让人崩溃.经过自己不断尝试,才知道大爷基本无敌,除了用魅惑菇,二爷克星是大食花,其他的植物都是弟弟,虽然有些 ...

  4. 植物大战僵尸android版手机版,植物大战僵尸95版手机版

    植物大战僵尸95版是近期非常不错的一款经典怀旧休闲系列游戏,游戏中玩家能体验到非常不错的植物大战僵尸策略世界的完美乐趣,多种不同的趣味游戏内容,经典的休闲游戏时光,给你带来最新的冒险之旅,相信不少的用 ...

  5. 植物大战僵尸tv版显示无法连接服务器,打开植物大战僵尸提示网络异常或者连接不上...

    打开植物大战僵尸提示网络异常或者连接不上,相信大家在玩植物大战僵尸的过程中,经常会遇到这样的问题,下面ourplay小编就简单为大家介绍几种常见的解决方案. 植物大战僵尸游戏简介 <植物大战僵尸 ...

  6. 植物大战僵尸2010版

    前天在360软件管家的软件库里面发现有植物大战僵尸的2010版下载,好奇之下就下载了. 以下是试玩的感受. 1. 2010增加了一个僵尸大头贴的功能.你可以自己定义旗子僵尸,并生成一张图片到桌面上. ...

  7. 植物大战僵尸java版视频_Java小项目之:植物大战僵尸,这个僵尸不太冷!

    植物卡片框 */ public class PlantsBar implements GuiConstnat { // 卡片格子数量 private int plantSum; // 太阳数量和卡片选 ...

  8. 植物大战僵尸java 7723_植物大战僵尸BT版

    快速搜索机型: 诺基亚 N73系列(240×320) N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 612 ...

  9. 植物大战僵尸beta贝塔版

    相信大家对于植物大战僵尸这款游戏不会感到陌生,直到现在还备受欢迎,但由于原作不会更新,众多玩家在玩了N遍经典版后有点乏味了,便有不少大佬开始在原作的游戏基础上进行强化修改,从而衍生出了植物大战僵尸be ...

最新文章

  1. Handlebars模板引擎
  2. 重要的mysql语句用法
  3. Android--GridView实现动态文字排版
  4. 实战并发编程 - 09多线程Guarded Suspension模式案例实战
  5. 洛谷4139 bzoj 3884 上帝与集合的正确用法
  6. maven打包项目的时候找不到jar包,但是项目里面改已经有相关jar包
  7. loadrunner性能测试步骤
  8. bootstrap-select动态生成数据,设置默认选项(默认值)
  9. CouchDB未授权访问漏洞记录(端口:5984、6984,CVE-2017-12635,CVE-2017-12636)复现失败
  10. 112_Power Pivot 销售订单按 sku 订单类型特殊分类及占比相关
  11. Editor扩展之查看Prefab用在那儿
  12. c语言延时系统,基于VB的单片机C语言延时程序各参数计算系统
  13. Weblogic负载均衡/Session复制之集群架构
  14. 华为服务器装系统一直在读盘,系统重装一直在启动服务器
  15. 【转】NGUI创建UIRoot后报NullReferenceException的解决办法
  16. openssl用法详解
  17. Python基础-序列化(json/pickle)
  18. pandas根据列值读取行
  19. JS实现数组和数组对象倒序(reverse方法)
  20. dubbo admin安装中易踩坑点及解决方法

热门文章

  1. 抓包工具httpbuger的使用问题
  2. ARM处理器9种基本寻址方式,和单片机微机原理寻址方式截然不同,(例如没有直接地址寻址,只能间接指针寻址或者寄存器变址寻址,立即数寻址,不是所有立即数都可直接寻址)不可套用理解。需独立学习
  3. 微信公众号教程(18)微信音乐播放器开发 上
  4. 用友nc65 uap开发找产品功能源代码
  5. memcpy和memset使用时需要区分的注意点
  6. 风控每日一问:互联网金融产品如何利用大数据做风控?
  7. 51单片机如何跳出wile循环_51单片机(九)汇编指令
  8. 正交设计——实战【转】
  9. 陪玩MM千千万,谁是你的NO.1?使用Python获取陪玩照片进行颜值检测打分
  10. 关于win10笔记本右键无响应的问题解决