控制坦克的移动

public class moveRen : MonoBehaviour {
    public float moveSpeed = 3f;
    public float roateSpeed = 9f;
    private Rigidbody target;
    void Start () {
        target = this.GetComponent<Rigidbody> ();
    }
    void FixedUpdate () {
        float v = Input.GetAxis ("Vertical");
        target.velocity = transform.right * v * moveSpeed;
        float h = Input.GetAxis ("Horizontal");
        target.angularVelocity = transform.up * h * roateSpeed;
    }
}

发射子弹和自动发射子弹

public class TankShell : MonoBehaviour {
    public GameObject shell;
    public Transform shellPosition;
    public float shellSpeed = 10;
    private int count = 0;
    public bool isAuto = false;
    void shoot()
    {
        GameObject go = GameObject.Instantiate (shell, shellPosition.position, shellPosition.rotation) as GameObject;
        Rigidbody r = go.GetComponent<Rigidbody> ();
        r.velocity = shellPosition.forward * shellSpeed;
    }
    void FixedUpdate () {
        if (isAuto) {
            count++;
            if (count > 100) {
                count = 0;
                shoot ();
            }
        } else {
            if (Input.GetKeyDown (KeyCode.Space)) {
                shoot ();
            }
        }
    }
}

给子弹添加爆炸力

public class PengZhuang : MonoBehaviour {
    public GameObject explosion;
//    void OnCollisionEnter(Collision other)
//    {
//        //销毁脚本附加的物体
//        Destroy (gameObject);
//        GameObject obj = GameObject.Instantiate (explosion,transform.position,transform.rotation);
//        Destroy (obj,1f);
//    }

    void OnTriggerEnter(Collider other)
    {
        //销毁脚本附加的物体
        Destroy (gameObject);
        GameObject obj = GameObject.Instantiate (explosion,transform.position,transform.rotation);
        Destroy (obj,1f);
        if (other.tag == "Tank") {
            other.SendMessage ("TakeDamage");
        }
    }

给坦克添加血量

public class XueLiang : MonoBehaviour {
    public float health = 100;
//    public void TakeDamage(float value)
//    {
//        if (health > value) {
//            health -= value;
//        } else {
//            Destroy (gameObject);
//        }
//    }

    public void TakeDamage()
    {
        if (health > 0) {
            health -= 100;
        }
        if (health <= 0) {
            GameObject.Destroy (this.gameObject);
        }
    }
}

简单制作《坦克大战》相关推荐

  1. 微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动

    微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动 首先导入敌方坦克素材 重命名为敌方坦克1 敌方坦克也移动到屏幕外面,后面使用克隆体来显示. 我们给敌方坦克添加事件 好的,现在敌方坦克已 ...

  2. 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸

    微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克.炮弹爆炸 导入坦克爆炸效果的图片和声音素材 给主角坦克添加事件 给爆炸动画添加事件 当主角坦克碰到敌方坦克或者炮弹时显示爆炸效果 下一篇文章 ...

  3. 如何用java让坦克发射子弹_java怎么制作坦克大战

    对于一些小游戏的实现方法是很多小伙伴们都好奇的,也有很多小游戏是由Java而制作的,那么你知道java怎么制作坦克大战吗?接下来的内容中我们就一起去看看吧. 详情请参照注释,这里就不多废话了,实现一下 ...

  4. 基于C++如何使用EGE做一个简单的坦克大战游戏

    作为一个C语言刚入门的小萌新,学完C语言基础语法后就迫不及待想要自己做一个游戏出来了,然后想到了小时候插卡玩的坦克大战,于是做了一个黑框框版的简单坦克大战,后面学了一点EGE图形库就在黑框框版的坦克大 ...

  5. 微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹

    微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹 在资源管理器中复制炮弹,重命名为敌人坦克的炮弹. 修改敌方坦克的积木 给敌方坦克炮弹添加事件 现在,敌方坦克已经可以自动发射炮弹啦. 下一篇文章:微信 ...

  6. canvas+js实现简单的坦克大战小游戏

    使用canvas和js实现经典的坦克大战并不难,坦克和炮弹的绘制可以使用canvas的里API画出,而坦克的移动和炮弹的发射可以依赖于键盘事件和定时器来实现. 在这里我要实现的坦克大战是双人模式,有木 ...

  7. 微信小游戏制作坦克大战(九)切换场景,游戏重新开始

    微信小游戏制作坦克大战(九)切换场景,游戏重新开始 新建一个游戏结束场景 主角坦克爆炸后切换到游戏结束场景 添加背景音乐 好了,至此坦克大战小游戏基本做好,小伙伴们可以继续完善哈. 体验地址:

  8. 微信小游戏制作坦克大战(八)统计得分

    微信小游戏制作坦克大战(八)统计得分 导入数字图片素材 新建得分变量 给数字添加事件 敌方坦克发生爆炸时,数字增加1 实现效果 下一篇文章:微信小游戏制作坦克大战(九)切换场景,游戏重新开始

  9. 微信小游戏制作坦克大战(七)碰撞检测,敌方坦克碰到主角坦克炮弹爆炸

    微信小游戏制作坦克大战(七)碰撞检测,敌方坦克碰到主角坦克炮弹爆炸 导入发生炮弹的音效素材 主角坦克发射炮弹或者敌方坦克发射炮弹时播放音效 修改敌方坦克积木 4.效果: 敌方坦克碰到主角坦克炮弹爆炸 ...

  10. 17 - python——简单的坦克大战(附源码)

    基于对面向对象编程的思想完成简单的坦克大战游戏.主要目的锻炼面相对象编程思想 同样的在使用python进行游戏编写时需要安装pygame模块 安装方法: pycharm安装方式:File --> ...

最新文章

  1. Metasploit攻击Oracle的环境搭建
  2. mysql子查询日期比较_数据分析系列 16/32 | MySQL中子查询与联合查询
  3. 八. 输入输出(IO)操作3.面向字符的输出流
  4. socket通信流程图
  5. tensorflow环境下的识别食物_在TensorFlow+Keras环境下使用RoI池化一步步实现注意力机制...
  6. 应用程序无法启动_Windows 10触发启动应用程序警报,以避免系统变慢
  7. 碎片时间学习前端,我推荐这些~
  8. potplayer 多个进程_操作系统 | 进程同步与进程互斥
  9. insertAfter函数
  10. PARDISO 5.0.0 Solver Project
  11. 聚类(1)-- k-means clustering
  12. android selector 开始自定义样式
  13. 华氏温度转换为摄氏温度(PTA厦大慕课)
  14. 高数_第3章重积分_三重积分的奇偶性
  15. android 版本升级 解析包出问题怎么解决方案,Android 7.0解析包时出现问题 的解决方案(应用内更新)...
  16. 微服务项目:尚融宝(38)(核心业务流程:申请借款额度(1))
  17. 分类计数原理与分步计数原理_《分类加法计数原理与分步乘法计数原理》教学设计...
  18. 菜鸟窝-仿京东淘宝项目学习笔记(二)ToolBar的基本使用
  19. 禁用spotlight
  20. 短连接和长连接的区分

热门文章

  1. 内存条的逻辑BANK和RANK(物理BANK)概念
  2. SSM+天山产业园访客与疫情防控系统 毕业设计-附源码191123
  3. 网页复选框设置只能选一个_网页自动填表基础教程从简单开始
  4. Quartz 实现画图片、写文字、画线、椭圆、矩形、棱形等 二
  5. 小米电视4A Android8,小米电视4A 删除内置应用及其去广告攻略
  6. Redis用来干嘛的?
  7. mysql limit sql注入_LIMIT子句中的盲 SQL注入漏洞利用
  8. java 多重继承的困境
  9. 1668: 高桥和低桥
  10. strchr()函数的详解与实现