Unity自主学习(二十九):物件移动错误

那麽上次把物件移动完成之後,确实也都可以使物件移动起来,以及产生跳跃。

不过实际上还是有问题存在的,後来我在场景添加一个方块,并塑造成墙壁的样子,并实际执行物件撞上墙之後的样子,就出现了其他的问题了。

当上次可移动的方块撞上墙壁时,如果持续按着方向键,尝试突破的话,方块会开始产生不自然的抖动,而後来想想,这是因为我程序上有逻辑的错误,先看一下上次移动物件的程序是怎麽运作的。

上次移动的程序:

transform.localPosition += new Vector3(2.5f, 0, 0) * Time.deltaTime; 

我们是将new Vector3的数值加到localPosition里面原有的值,也就是说每次被执行都是固定在X座标加上2.5,但是我们被移动的方块不可能每次都与墙壁的距离可以被2.5整除,就算可以...当持续按着方向键,物件依旧会不断前进,在刚执行程序的那个影格,方块就会跑到墙壁里,而下个影格又会因为彼此"collider"碰撞,而又被挤出墙壁,但继续按着方向键要往前,就又会跑进去,导致方块不断地塞进墙,并被挤出,而产生这种不断抖动的感觉。

那让物件动起来的程序肯定不止一种,所以只能再去找找其他解决办法了,明天最後一天,至少要把物件移动的脚本弄到最好。


<<:  Unity自主学习(二十八):Time.deltaTime

>>:  Unity自主学习(三十):完美物件移动

Day04 | Dart基本介绍 - 变数宣告与基本型别

今天主要会说明 Dart 各种变数宣告的方法及 Dart 的基本型别。 变数宣告 dart主要有四种...

【D21】修改食谱#2:根据市价,模拟小台改价

前言 昨天已经模拟出改价了,现在更进阶,使用小台的现价来改价。 参考网站:Futures 本日程序码...

Spring Framework X Kotlin Day 12 Cache

GitHub Repo https://github.com/b2etw/Spring-Kotlin...

Scope Chain & Closure

我们先来小试身手,在这之前我们必须有function scope 跟 global varible的...

Swift 新手-运用 Bluetooth Low Energy

蓝牙低功耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标B...