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. Semaphore(信号量)
  2. ubuntu 安装eclipse neon版本
  3. UA MATH571A R语言回归分析实践 多元回归1 医疗费用的决定
  4. DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略
  5. 前端开发跨浏览器计算页面大小、滚动高度
  6. 故障转移集群仲裁盘_windows 2012 标准版 集群 仲裁盘和共享盘无法转移
  7. Linux自动部署框架,在Linux下编写一个集群自动化测试框架
  8. window.location.reload()会掉参数吗_iPhone手机电量不够用,你真的会用苹果吗?设置好这几个就OK了!...
  9. C++实现线段树求区间和-区间查询
  10. kafka 常用命令汇总
  11. 七、matplotlib的使用
  12. (十三)java多线程之Timer
  13. se105模板,产品详情页去掉多余的review栏目。
  14. 【渝粤教育】国家开放大学2019年春季 2610药剂学 参考试题
  15. CImageList使用指南
  16. 二叉树非递归遍历算法
  17. Qt实现 文件比较工具
  18. jquery ajax 参数放到 request playload 中
  19. 微信公众号如何进行账号迁移?
  20. python全套教程百度网盘-Python最新全套视频教程百度网盘资源

热门文章

  1. JAVA 数据库连接池系列 —— HikariCP 简介
  2. java s3 与ceph的关系,ceph S3 对象存储的使用
  3. 6岁的招聘界“ChatGPT”|企业家俱乐部“创业者下午茶”第八期——AI得贤招聘官创始人方小雷
  4. java识别汉字个数_统计字符串中汉字的个数
  5. 计算机一级ps考级知识,Photoshop等级考试一级大纲
  6. Chrome浏览器下载东西出现卡死和未响应状态
  7. 300张现场照片,揭秘移动云大会!
  8. linux文件目录基本操作实验结论,实验 Linux文件和目录操作
  9. 在 Mac OS系统下选择、安装、配置 win 10虚拟机
  10. 5.[STM32]动动小手,自己制作做一个自动浇花系统吧