码迷,mamicode.com
首页 > 编程语言 > 详细

小白学习Unity 3D做经典游戏坦克大战日常

时间:2018-11-21 22:26:52      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:多少   image   开发   荣耀   time   date()   orm   tran   图片   

技术分享图片

老师 | Trigger

学习者 |小白

出品 | Siki 学院

Hello,小伙伴们。接下来小白跟Trigger老师做一款2D游戏坦克大战。从素材、代码到场景和UI的游戏开发。小白把日常遇到的问题做一个记录贴,让各位小伙伴充分了解Untiy 3D基本游戏开发和一些小白容易疏忽的问题。Unity 3D有着非常便利的管理和编码功能。现在非常热门的MOBA游戏王者荣耀,也是用Unity 3D 开发的呢!用其他编程语言例如: java / kotlin 和 Object-C / swift 原生游戏的开发是非常耗时耗力的,并且在一些细节问题上不容易处理。

废话少说,一起燥起来吧~

首先需要准备:

Untiy 3D版本**:2017版本以上
学习非常简单,不会的话,参考SiKi学院的视频。

还需要掌握计算机语言:C#,非常简单,如果你还年轻,对现在工作感到不理想。想学习一门技术这个是你不二选择。

下面小白就从日常遇到的问题做个记录。

**控制坦克玩家移动代码**:
```javascript
public class Player : MonoBehaviour {

public float moveSpeed=3;

void Update()
{
//监听水平方向
float h=Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*time.deltaTime,Space.wrold);
float v=Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*moveSpeed*time.deltaTime,Space.wrold);
}
}

问题1:GetAxis 和GetAxisRaw的区别?
Input.GetAxisRaw 获取原始轴
通过坐标轴名称返回一个不使用平滑滤波器的虚拟坐标轴;

Input.GetAxis 获取轴
根据坐标轴名称返回虚拟坐标系中的值;

共同点:
这两种方法都是用来取得轴向值的,两种方法的最大值和最小值都是1和-1.

不同点:
使用Input.GetAxis,在刚开始按下W的时候取得的值会从0到1慢慢递增:exp:0-0.133-0.33-0.672-0.851-1.0;
放开就有递减的效果,这种方法可以产生变化感,有加速和刹车的感觉;

使用Input.GetAxisRaw,取得的值永远只有三种-1,0,1;在按下W取得值会从0变成1;

问题2:Transform.Translate 平移
简单的说,向某方向移动物体多少距离;

 

小白学习Unity 3D做经典游戏坦克大战日常

标签:多少   image   开发   荣耀   time   date()   orm   tran   图片   

原文地址:https://www.cnblogs.com/dingsiki/p/9997833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!