Question by
R4G2R · Dec 14, 2015 at 08:13 PM ·
scripting probleminputupdate functionupdate problemcs
Problemas con Input.GetKeyDown()
Estoy haciendo un juego de disparos. Estoy trabajando en limitar la municion pero cuando disparo se me resta más de una bala.
Por ejemplo disparo una vez i se me restan 3 balas.
Script de los objetivos a los que disparar:
using UnityEngine;
using System.Collections;
using System;
using System.Linq;
using System.Collections.Generic;
public class disparo : MonoBehaviour {
public int objetivo;
private GameObject puntuacion;
private GameObject balas_objeto;
private int score = 0;
private bool click = true;
private int balas;
private int balas1;
void Awake() {
puntuacion = GameObject.FindGameObjectWithTag("score");
balas_objeto = GameObject.FindGameObjectWithTag ("balas");
}
void Start () {
}
void Update () {
if (Input.GetKeyDown(KeyCode.Space)) {
balas1 = Int32.Parse (balas_objeto.GetComponent<TextMesh> ().text);
balas1 = balas1 - 1;
balas_objeto.GetComponent<TextMesh> ().text = balas1.ToString();
}
}
void OnMouseOver() {
if (Input.GetKeyDown(KeyCode.Space)) {
if (click == true) {
score = Int32.Parse (puntuacion.GetComponent<TextMesh> ().text);
balas = Int32.Parse (balas_objeto.GetComponent<TextMesh> ().text);
if (balas > 0){
score = score + 1;
if (score == objetivo) {
Application.LoadLevel ("succes");
}
puntuacion.GetComponent<TextMesh> ().text = score.ToString ();
Debug.Log ("Botella destruida");
Destroy (gameObject);
} else {
Application.Quit();
}
}
} else {
}
}
}
Si alguien pudiera explicarme donde está el error i me ayudara a corregirlo se lo agredeceria mucho.
Comment