0
私はユニオン5.3.5でアンドロイド用のゲームを構築していますが、スクリーがタップされたときにプレイヤーが上に移動してタップし続ける必要がありますプレイヤーは倒れて遊び場から外れます!私は何をしたいのですか?ゲーム開始時にプレイヤーを静止させて、画面がタップされるとゲームが始まります。ここでのコードは..ですゲームの開始時にプレイヤーを止めてタップを使用してユニティ2Dで開始する
public class Player : MonoBehaviour {
public string currentColor;
public float jumpForce = 10f;
public Rigidbody2D circle;
public SpriteRenderer sr;
public Color blue;
public Color yellow;
public Color pink;
public Color purple;
public static int score = 0;
public Text scoreText;
public GameObject obsticle;
public GameObject colorChanger;
void Start() {
setRandomColor();
}
// Update is called once per frame
void Update() {
if (Input.GetButtonDown ("Jump") || Input.GetMouseButtonDown (0))
{
circle.velocity = Vector2.up * jumpForce;
}
scoreText.text = score.ToString();
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Scored")
{
score++;
Destroy (collision.gameObject);
Instantiate (obsticle, new Vector2(transform.position.x,transform.position.y + 7f), transform.rotation);
return;
}
if (collision.tag == "ColorChanger")
{
setRandomColor();
Destroy (collision.gameObject);
Instantiate(colorChanger, new Vector2(transform.position.x,transform.position.y + 7f), transform.rotation);
return;
}
if (collision.tag != currentColor) {
Debug.Log ("You Died");
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
score = 0;
}
if (collision.tag == "Floor")
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
void setRandomColor()
{
int rand = Random.Range (0, 4);
switch (rand)
{
case 0:
currentColor = "Blue";
sr.color = blue;
break;
case 1:
currentColor = "Yellow";
sr.color = yellow;
break;
case 2:
currentColor = "Pink";
sr.color = pink;
break;
case 3:
currentColor = "Purple";
sr.color = purple;
break;
}
}
}
boolを追加します。 'isFirstTouch'です。それを最初に偽にする。アップデート時に確認してください。タッチが行われたとき。それを真実にしてください。そしてそれが本当であればあなたのコードを実行しますか? – Thalthanas
これを試してみてください、あなたは意味するstartメソッドでisFirstTouchをfalseにしますか?別のif文でコードを更新にラップしますか? –
はい。 boolを使って新しいif文を作成し、現在のifブロックを更新することができます。また、物理学を使っています。 @ ZayedUpalが提案するように、このboolのように 'isKinematic'値を変更する必要があります。 – Thalthanas