【发布时间】:2014-11-12 03:56:43
【问题描述】:
我正在使用 Unity3D 引擎开发我的第一个游戏,但我遇到了第一个问题!没有我想象的那么激动。如果我向跳跃按钮 w 发送垃圾邮件,我的球第一次会跳跃,然后当它着陆时它不会立即跳跃,而是在按下多次按钮后随机跳跃。我使用的代码如下。
#pragma strict
var rotationSpeed = 100;
var jumpHeight = 8;
private var isFalling = false;
function Update ()
{
//Handle ball rotation.
var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;
rotation *= Time.deltaTime;
rigidbody.AddRelativeTorque (Vector3.back * rotation);
if (Input.GetKeyDown(KeyCode.W) && isFalling == false)
{
rigidbody.velocity.y = jumpHeight;
}
isFalling = true;
}
function OnCollisionStay ()
{
isFalling = false;
}
我听说这是 UnityScript 中的算术行为问题。我是编程的初学者,并不真正理解 UnityScript 中的代码,这是我在 Unity3D 中制作的第一个游戏/项目。帮助将不胜感激。谢谢!
【问题讨论】:
-
球有弹性吗?
-
尝试使用 OnCollisionEnter 代替
-
@Jay Kazama 当我运行它时它不会反弹。
标签: unity3d game-physics unityscript