【发布时间】:2017-02-02 20:06:10
【问题描述】:
我目前正在 Unity 中开发一款 2D 游戏,作为 Unity 和 C# 的初学者。
我的角色应该左右行走,轴水平,这很有效。但是现在我想要我的角色运行,当我另外按下“Fire1”时。这也可以部分工作,但是当我在按下“Fire1”的同时改变方向时,角色会停止。不按“Fire1”,方向改变工作。脚本似乎没有得到水平变化,因为当方向改变时按下“Fire1”时,debug.log 显示“0”。
if (onPlatform) {
activeMoveSpeed = moveSpeed * onPlatformSpeedModifier;
} else if(Input.GetButton("Fire1")) {
activeMoveSpeed = moveSpeed * sprintSpeedModifier;
} else {
activeMoveSpeed = moveSpeed;
}
Debug.Log (Input.GetAxisRaw ("Horizontal"));
//Player go left and right
if (Input.GetAxisRaw ("Horizontal") > 0f) {
myRigidbody.velocity = new Vector3 (activeMoveSpeed, myRigidbody.velocity.y, 0f);
transform.localScale = new Vector3 (1f, 1f, 1f);
} else if (Input.GetAxisRaw ("Horizontal") < 0f) {
myRigidbody.velocity = new Vector3 (-activeMoveSpeed, myRigidbody.velocity.y, 0f);
transform.localScale = new Vector3 (-1f, 1f, 1f);
} else {
myRigidbody.velocity = new Vector3(0f, myRigidbody.velocity.y, 0f);
}
【问题讨论】:
-
玩家可以在平台上同时跳跃吗?
-
@MistaGoustan 可以的