好久没更新了,最近在研究unity,这个游戏已经做了好久了一直没发出来,我现在想开发一款猛鬼深林游戏,目前已经开发到新建文件夹了

话不多说,开始我们今天的主题,双人坦克大战竞速游戏

首先创建一个地形,打造出自己想要的地形

然后找一个我们坦克的开始游戏的起点

地形完成后,我们开始完成我们的坦克(player)模块

建立一个坦克模型(tankpalyer),在发射炮口中设立一个空盒子(GameObject),用于子弹发射,并将我们的摄像头(Main Camera)放置我们的坦克后方,完成一个类似于第三人称视角

基本条件完成后,我们开始我们的移动和发射子弹模块

移动脚本

using UnityEngine;
using System.Collections;public class Yidonone : MonoBehaviour
{int Speed_move = 30;int Speed_rot = 50;void Update(){if (Input.GetKey(KeyCode.W)){this.transform.Translate(Vector3.left * Time.deltaTime * Speed_move);}if (Input.GetKey(KeyCode.S)){this.transform.Translate(Vector3.right * Time.deltaTime * Speed_move);}if (Input.GetKey(KeyCode.A)){this.transform.Rotate(Vector3.down * Time.deltaTime * Speed_rot);}if (Input.GetKey(KeyCode.D)){this.transform.Rotate(Vector3.up * Time.deltaTime * Speed_rot);}}}

将移动脚本移植进坦克模型(tankpalyer)并且我们的坦克是需要这两个模块

 子弹发射脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Shoot : MonoBehaviour
{int Speed = 100;public Rigidbody Bullet;public Transform FPonit;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.J)){Rigidbody clone;clone = (Rigidbody)Instantiate(Bullet, FPonit.position, FPonit.rotation);clone.velocity = transform.TransformDirection(Vector3.left * Speed);}}
}

将此脚本也移植在我们的坦克玩家(tankpalyer)中,并且在素材文件夹中添加一个小球(Sphere 11)

然后我们回到坦克玩家中里的脚本添加空盒子和我们的小球

当然,我们发射了小球,我们也需要写一个子弹销毁,要不然一直发射太多了容易造成卡顿

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class XiaoHui : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Destroy(gameObject, 2.0f);}// Update is called once per framevoid Update(){}
}

将此脚本移植进小球里,并且我们的小球需要添加刚体(Rigidbody)属性

好了我们其中一个玩家就写好了,你现在试着写出玩家2的模块

.

.

.

.

.

.

写不出来?

这是源码,和玩家1同理,但是子弹是可以同一起用

移动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Yidontow : MonoBehaviour
{int Speed_move = 30;int Speed_rot = 50;void Update(){if (Input.GetKey(KeyCode.UpArrow)){this.transform.Translate(Vector3.left * Time.deltaTime * Speed_move);}if (Input.GetKey(KeyCode.DownArrow)){this.transform.Translate(Vector3.right * Time.deltaTime * Speed_move);}if (Input.GetKey(KeyCode.LeftArrow)){this.transform.Rotate(Vector3.down * Time.deltaTime * Speed_rot);}if (Input.GetKey(KeyCode.RightArrow)){this.transform.Rotate(Vector3.up * Time.deltaTime * Speed_rot);}}
}

发射

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Shoottow : MonoBehaviour
{int Speed = 100;public Rigidbody Bullet;public Transform FPonit;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.M)){Rigidbody clone;clone = (Rigidbody)Instantiate(Bullet, FPonit.position, FPonit.rotation);clone.velocity = transform.TransformDirection(Vector3.left * Speed);}}
}

人物我们完成了,但是如何进行双人游戏呢?这时我们的摄像机模块就起到了作用,设置分屏,来实现我们的单机器双人游戏

我们只需要点击摄像机里的viewport rect参数进行修改

玩家2的摄像机参数也是同理

游戏测试:

好了,教程结束

Unity双人坦克大战竞速游戏,超简单教学相关推荐

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

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

  2. JAVA 实现《坦克大战》游戏|CSDN创作打卡

    前言 小时候大家都玩过坦克大战吧,熟悉的旋律和丰富的关卡陪伴了我们一整个寒暑假,还记得传说中的经典坦克大战 吗?那些怀旧的记忆,伴随着我们一起走过来的经典坦克大战,刚开始那战战兢兢,屡屡被敌人坦克击毁 ...

  3. 【JAVA程序设计】基于JAVA的坦克大战小游戏--入门级小游戏

    基于JAVA的坦克大战小游戏--入门级小游戏 零.项目获取 一.项目简介 二.开发环境 三.游戏玩法 四.运行截图 零.项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100 ...

  4. 使用《红孩儿工具箱》开发基于Cocos2d-x的《坦克大战》游戏

    大家好,我是红孩儿.上一节我们学习了使用<红孩儿工具箱>开发<打地鼠>游戏.这一节我们继续学习使用<红孩儿工具箱>来开发<坦克大战>游戏. <坦克 ...

  5. html实现经典坦克大战小游戏

    文章目录 1.设计来源 1.1 游戏主界面 1.2 游戏界面 2.效果和源码 2.1 动态效果 2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/w ...

  6. 飞机大战小游戏(超详细)

    偷学Python之最后的项目二:飞机大战小游戏(超详细) 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志.--苏轼 甜甜先说 这次用Python中的pygame模块来完成一个飞机大战的小游戏:基本思 ...

  7. Java实现的经典坦克大战小游戏

    Java实现的经典坦克大战小游戏 先看一下游戏结构: 有点多,没有耐心的可以不用看,这里先给出链接吧! 云链接:经典坦克大战 提取码:s9ai 这里就不介绍功能了,贴了一张游戏运行的截图,具体的功能自 ...

  8. 《HTML5经典坦克大战》游戏(代码)

    前几天粗略地学了HTML5,然后就用它写了一个<经典坦克大战>游戏. 现在想分享一下我写的代码,写得不好请大家多多指教. 给大家推荐一个网站,这个网站是为大学生而做,为方便学习编程的同学而 ...

  9. C++实用编程——坦克大战小游戏

    C++实用编程--坦克大战小游戏 Warning: 转载类 原文地址:*HTML https://yq.aliyun.com/articles/683666 改变速度的玩意坏了 我们直接看代码吧,适于 ...

最新文章

  1. pip: command not found 一系列报错
  2. boost::core::has_single_bit的测试
  3. apache压力测试
  4. powerpoint预览_如何放大和缩小PowerPoint演示文稿的一部分
  5. 电脑DNS优选网络加速工具 可以提高网速
  6. 中国电信:1月5G套餐用户数净增826万户
  7. 【java】instanceof 性能
  8. Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node
  9. Sphinx 初始化项目
  10. 零基础带你学习MySQL—primary key主键(二十三)
  11. mysql数据库root密码在哪个文件中_mysql数据库的root密码放在什么位置?
  12. 基于单片机的无线鼠标设计
  13. 在线抓娃娃 html,萤石云开放平台提供在线抓娃娃解决方案
  14. Efficient Low-rank Multimodal Fusion with Modality-Specific Factors 论文
  15. 网站打开速度慢是什么原因导致
  16. QQ拼音截取屏幕局部放大问题解决
  17. 负载阻抗、感抗、容抗
  18. 【4.29】Codeforces 刷题
  19. 提升个人效率减少焦虑——GTD法则
  20. MADDPG论文中文翻译

热门文章

  1. 长安汽车流程体系成熟度评估模型的应用
  2. Coursera视频无法播放解决办法
  3. SQLServer中ADO,OLEDB,ODBC的区别
  4. 最小编辑距离 动态规划 python
  5. python中if not x_python使用 'if x is not None' 还是'if not x is None' – IT热血青年
  6. Pacemaker部署
  7. ACCESS数据库防下载方法 1
  8. 雷军:何以英雄背骂名!
  9. 目前计算机常用的CPU型号,价格差异太大了!教你选择CPU型号及常见CPU后缀字母详解...
  10. 九龙证券|看好2-4月份汽车月度销量增速的逐月改善