2
我目前正在Unity中作为Unity和C#初学者的2D游戏。Unity3D C#方向变化,而运行不起作用
我的角色应该与水平轴左右走,这完美的作品。但是现在我想要的是,当我另外按下“Fire1”时,我的角色就会运行。这部分工作,但当我按下“Fire1”时改变方向,角色停止。没有按下“Fire1”,方向改变就起作用。看起来脚本没有得到水平变化,因为debug.log在方向改变时按下“Fire1”时显示“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
@MistaGoustan是的,它的工作原理 – Christoph