2014-09-22 2 views
0

Я делаю 2D-платформер для мобильных устройств. У меня есть guiTexture, что при нажатии меня ускоряет скачок. Но всякий раз, когда я нажимаю guiTexture, спрайт прыгает на разных высотах каждый раз, в зависимости от того, удерживаю ли я кнопку или слегка нажимаю ее.Unity Jumps на разных высотах

Вот сценарий прыжок Я использую:

using UnityEngine; 
using System.Collections; 

public class Jump : MonoBehaviour { 

    public GUITexture jumpButton; 

    bool grounded = false; 
    public Transform groundCheck; 
    float groundRadius = 0.2f; 
    public LayerMask whatIsGround; 

    public float jumpForce = 700f; 

    public GameObject character; 

    void Start() { 

    } 

    void Update() { 

    } 

    void FixedUpdate() { 
     grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround); 

     if (grounded && jumpButton.HitTest(Input.GetTouch(0).position)) { 
      rigidbody2D.AddForce(new Vector2(0, jumpForce)); 
     } 
    } 
} 

ответ

0

сделать свой, если чек заявление для touchphase, если прикосновение вниз, то это будет только стрелять один раз, когда вы касаетесь вниз

if (grounded && jumpButton.HitTest(Input.GetTouch(0).position) && Input.GetTouch(0).phase == TouchPhase.Began) { 
     rigidbody2D.AddForce(new Vector2(0, jumpForce)); 
    }