GUIボタンが押せないのですが
MobileSingleStickControlを使って仮想ボタンでのジャンプボタンを作ったのですが、ボタンが押されたことを一回目だけ取るのですが二回目以降ボタンが全く反応しなくなってしまいます。
Debug.Log ("update");
はコンソールで呼ばれ続けているのに、
Debug.Log ("Input.getButtonDown jump");
1回
Debug.Log("jump true");
1回
Debug.Log ("jump false");
11回
のように表示され、ボタンが押されたということを二度と受け取らなくなってしまいます。
どのようにすれば ボタンとして動かすことが出来るのでしょうか
[ButtonHandler.cs]
using System;
using UnityEngine;
namespace UnityStandardAssets.CrossPlatformInput
{
public class ButtonHandler : MonoBehaviour
{
public string Name;
void OnEnable()
{
}
public void SetDownState()
{
CrossPlatformInputManager.SetButtonDown(Name);
}
public void SetUpState()
{
CrossPlatformInputManager.SetButtonUp(Name);
}
public void SetAxisPositiveState()
{
CrossPlatformInputManager.SetAxisPositive(Name);
}
public void SetAxisNeutralState()
{
CrossPlatformInputManager.SetAxisZero(Name);
}
public void SetAxisNegativeState()
{
CrossPlatformInputManager.SetAxisNegative(Name);
}
public void Update()
{
Debug.Log ("update");
if (UnityStandardAssets.CrossPlatformInput.CrossPlatformInputManager.GetButtonDown("Jump"))
{
Debug.Log ("Input.getButtonDown jump");
}
}
}
}
[Jump.js]
#pragma strict
function Start () {
}
function Update () {
var myAnimator=GetComponent(Animator);
if (UnityStandardAssets.CrossPlatformInput.CrossPlatformInputManager.GetButtonDown("Jump"))
{
myAnimator.SetBool("Jump",true);
Debug.Log("jump true");
}
var state:AnimatorStateInfo=myAnimator.GetCurrentAnimatorStateInfo(0);
if(state.IsName("Locomotion.Jump"))
{
myAnimator.SetBool("Jump",false);
Debug.Log ("jump false");
}
}