ユーザーがクリックしたオブジェクト(再生中のピース)を確認する必要がありますが、問題はif elseブロックがマウスボタンをクリックします。私が 'Input.GetMouseButtonDown(0)'をelse if条件から削除すると、それは機能します。ここに私のコードは次のとおりです。Input.GetMouseButtonDown()はif elseブロックがネストされていないと思われます。
などvoid Update() {
if (chance == 1) {
if (Input.GetKeyUp (KeyCode.Space)) {
if (enableInput == true) {
enableInput = false;
markers [0].gameObject.SetActive (true);
markers [1].gameObject.SetActive (false);
markers [2].gameObject.SetActive (false);
markers [3].gameObject.SetActive (false);
a.PlayOneShot (s_Dice);
DiceRoll();
if (subPlayer == 4 && diceno == 6) {
Vector3 temp;
Vector3 currentPos;
subPlayer -= 1;//3
temp = transform.position;
subplayers1 [0].transform.position = new Vector3 (startingpos1.transform.position.x, -1.8f, startingpos1.transform.position.z);
Invoke ("waitandgo",0.5f);
} else if (Input.GetMouseButtonDown(0) && subPlayer == 3 && diceno == 6) {
//print ("clicked");
//ray = Camera.main.ScreenPointToRay (Input.mousePosition);
//if (Physics.Raycast (ray, out hit)) {
print("Click");
}
}
}
}
}
明確にするために、スペースバーが押されていないすべてのフレーム、またはプレーヤーがスペースバーを解放した単一のフレーム( 'Input.GetKeyUp(KeyCode.Space) ')だけを評価しますか?同様に、else if条件が、マウスボタンがクリックされた単一フレームでのみ、またはマウスボタンが押されているフレームごとに真であるようにしますか? – Serlite
@Serliteマウスボタンをクリックしたときに1つのフレームのみが使用される可能性があります(Input.GetMouseButtonUp) –
声明の中に入るためにユーザが想定する入力シーケンスを記述できますか?スペースバーが押されていない状態でマウスをクリックしている間、またはマウスをクリックすると同時にスペースバーを放したときだけ、それは真実でしょうか? – Serlite