博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
打砖块代码解析
阅读量:6941 次
发布时间:2019-06-27

本文共 1332 字,大约阅读时间需要 4 分钟。

子弹代码:

1 public GameObject Bullet;public float Speed = 5; 2      3     void Update () { 4  5         if (Input.GetMouseButtonDown(0)) 6         { 7              8             GameObject bullet = GameObject.Instantiate(Bullet, transform.position, transform.rotation); 9             Rigidbody bulletrig = bullet.GetComponent
();10 bulletrig.velocity = transform.forward * Speed;11 } 12 }

相机移动代码:

1     void Update () {2         float ad = Input.GetAxis("Horizontal");3         float ws = Input.GetAxis("Vertical");4         transform.Translate(new Vector3(ad, ws, 0) * Time.deltaTime);5         6     }

 

心得:

Start()函数用于代码初始化

Update()函数用于游戏控制

 

游戏对象的实例化:

游戏对象的实例化是指在游戏场景中显示物体

创建好的游戏对象可以设置为预制体,保存在工程目录下,而不是放在场景中,通过脚本定义游戏对象后(GameObject),通过将预制体拖入的方式初始化(仅限Public变量),通过控制方法GameObject.Instantiate()实例化对象(此处为子弹)

 

Input类:

Input.GetMouseButtonDown(0)按下鼠标左键

Input.GetAxis("Horizontal")获取左右按键的坐标

 

transform.Translate()使物体移动

在Update中运用的函数每帧执行一次,FPS即为每秒的帧数

 

Time.deltaTime 的含义用法:

变量deltaTime表示为unity本地变量,作为Time类中的数据在各帧中被更新,在各帧中,该变量显示了距上一帧所经历的时间值(以秒计算)。

这个变量的优点: 使用这个函数他会与你的游戏帧速率无关

放在Update()函数中的代码是以帧来执行的,我们需要将移动的物体乘以秒来执行,而乘以deltaTime其就可以实现

例如:想让一个游戏对象向前以每秒10m移动的话

用你的速度10乘Time.deltaTime

他表示每秒移动的距离为10m而不是每帧10m

注: 可在Update 与 fixedUpdate 中使用 但并不适用于OnGUI

转载于:https://www.cnblogs.com/krystalstar/p/10111124.html

你可能感兴趣的文章
linux 下改ip(Centos7)
查看>>
sudo命令:解决使用Linux命令行时出现的错误提示
查看>>
微软已发布 Windows 10 Timeline 功能的官方 Chrome 插件
查看>>
delphi初始化文件的默认路径
查看>>
如何处理Express异常?
查看>>
深入认识PHP的框架和CMS的关系
查看>>
NOSQL分类
查看>>
VUE学习遇到的问题及解决方法(一)
查看>>
如果没有UX经验,如何创建个人UX作品集?
查看>>
帮助你检查Linux系统内存及其使用情况的命令
查看>>
Jeff Dean本科论文首次曝光!第一批90后出生时,他就在训练神经网络
查看>>
Python中lambda的用法
查看>>
E036-rpmdb open failed
查看>>
手把手:一张图看清编程语言发展史,你也能用Python画出来!
查看>>
使用MaxCompute进行数据质量核查
查看>>
SQLServer2005 判断数据库中是否存在某张表或是查找库中的所有表名,然后删除...
查看>>
awk工具
查看>>
mysql 常用日期处理函数
查看>>
使用python进行数据的采集 编辑 删除
查看>>
布尔类型及return 严重程度
查看>>