我有一个在我启动游戏时初始化的画布,在其中我有一个带有播放和退出按钮的菜单。游戏是一个无尽的跑步者,一切都运行良好,但是当我点击Play按钮实际开始游戏时,Player对象会自动给我一个跳跃,之后,这一切正常,就像我点击Play按钮一样游戏和玩家同时也是如此。我需要在Android设备中使用它。
Player.cs脚本
...
void Start () {
Highscore = PlayerPrefs.GetInt ("Highscore", 0);
jumpOne = false;
jumpTwo = false;
canDoubleJump = false;
}
void Update() {
for (int i = 0; i < Input.touchCount; i++){
if (Input.GetTouch(i).phase == TouchPhase.Began && isFalling == false) {
jumpOne = true;
canDoubleJump = true;
isFalling = true;
}else if (Input.GetTouch(i).phase == TouchPhase.Began && isFalling == true && canDoubleJump == true) {
jumpTwo = true;
canDoubleJump = false;
}
}
}
void FixedUpdate() {
transform.Translate(Vector2.right * power * Time.deltaTime);
if (jumpOne == true) {
GetComponent<Rigidbody2D>().AddForce(Vector2.up * jumpHeight);
jumpOne = false;
}
if (jumpTwo == true) {
GetComponent<Rigidbody2D>().AddForce(Vector2.up * jumpHeight);
jumpTwo = false;
}
}
void OnCollisionStay2D(Collision2D coll) {
if (coll.gameObject.tag == "Ground") {
isFalling = false;
canDoubleJump = false;
}
}
...
//(播放按钮)
public void ClickedStart() {
MainMenu.SetActive(false);
Time.timeScale = 1.0f;
Playing = true;
}
已经尝试过,问题仍然存在 (Input.GetMouseButtonDown(0))
(Input.GetKeyDown(KeyCode.Space))工作正常且没有错误,但我无法在Android中跳转。
答案 0 :(得分:0)
你正在使用TouchPhase.Began所以当你隐藏你的主菜单时,触摸仍然是活跃的,因此玩家跳跃,我建议你使用waitforseconds方法的协同例程,然后才能开始让玩家再次跳跃。