Jump to content
UnitySpain

Lucky-chan

Registrados
  • Content Count

    41
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Lucky-chan

  • Rank
    Usuario

Profile Information

  • Especialidad
    Diseñador

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Vale, muchas gracias, ya entiendo mucho mejor los diferentes triggers
  2. ah... claro, si lo dejo así entonces solo podría presionar la F al entrar y no al mantenerme dentro .-. gracias xd
  3. Buenas, aquí yo otra vez. Esta vez he tenido un pequeño problema, la script que adjuntaré a continuación según yo no tiene errores pero al presionar el botón "F" no sucede nada... he puesto un Print para comprobar si las instrucciones llegan a ese punto y nop, no detecta cuando presiono el botón, la verdad me he estado comiendo la cabeza por media hora y no entiendo por que no funciona, probablemente sea una tontería pero no lo veo... Aparte si tienen consejos para no usar tantos "if" lo agradecería ya que no tengo idea de si hay otra forma. Gracias de antemano public GameObject Text; public GameObject Player; public GameObject Illumination; private bool ON = false; private AudioSource Tuturu; private GameObject Kill; public GameObject Tuturu2; // Start is called before the first frame update void Start() { Illumination = GameObject.FindGameObjectWithTag("Lights"); Text = GameObject.FindGameObjectWithTag("Action"); Player = GameObject.FindGameObjectWithTag("Player"); Tuturu = GameObject.FindGameObjectWithTag("Sound").GetComponent<AudioSource>(); Kill = GameObject.FindGameObjectWithTag("MarkedForDelete"); Illumination.SetActive(false); Text.SetActive(false); } void OnTriggerEnter(Collider Col) { if (ON == false) { if (Input.GetKeyDown(KeyCode.F)) { print("Activated"); Tuturu.Play(); Illumination.SetActive(true); ON = true; Kill.SetActive(false); Tuturu2.SetActive(false); Destroy(this); } Text.SetActive(true); } } void OnTriggerExit(Collider Col) { if (ON == false) { Text.SetActive(false); } } }
  4. buff gracias amigos xd ya me estaba dando dolores de cabeza, no se que estaba haciendo mal por que en cuanto revisé tenía esa misma configuración, pero ya la he subido que es lo importante n_n
  5. buenas tardes a todos. pues eso acabo de hacer una app para google play pero me tira una ###### de que necesito actualizar el codigo a 64 bit, no entiendo muy bien a que se refiere, joder he hecho apps de la misma forma en la que hice esta y no tocaba tanto los ####### para subir una app, igual tuve que quitar las adds de la app por que me salía error con el "graddle" que necesito hacer para poder subir esta mamada >:V gracias de antemano
  6. Gracias veré si es eso
  7. Buenos días a tod@s, hoy tengo otro problema, he estado varios días investigando y buscando pero no he logrado hacer que esta "funcion(?)" funcione (valga la redundancia) es algo básico creo, simplemente un "Level Manager" que controla los checkpoints y la muerte del personaje, luego los checkpoints que simplemente se encargan de ajustar la nueva posición de resurrección, básicamente lo que sucede es que no he encontrado como hacer que cuando la "HP" llegue a 0 el pj muera, pero por la mala forma en que construí el sistema del HP hace que desconozca como llamar la float en la sección que necesito, aquí los scripts y como siempre gracias por la ayuda. void Update() { if (HPBar.getHP/.HP == 0)//aqui es donde intento conseguir la FLoat { LevelManager.RespawnPlayer(); } // esta es toda la script de la barra de HP, básicamente todo el tema del Hp lo manejo por esta script que va a la barra Slider Barra; public LevelManager levelManager; private float MaxHP = 3f; private float Hp; public bool Dead; public GameObject player; // Start is called before the first frame update void Awake() { levelManager = FindObjectOfType<LevelManager>(); Barra = GetComponent<Slider>(); } public void Start() { Barra.maxValue = MaxHP; Barra.value = MaxHP; } // Update is called once per frame public void update() { Barra.value = Hp; } public void TakeDamage(float amount) { Barra.value = Mathf.Clamp(Barra.value-amount, 0f, MaxHP); if (Barra.value == 0) { StartCoroutine(Espera()); levelManager.RespawnPlayer(); Hp += 3f; } } IEnumerator Espera() { yield return new WaitForSeconds(2); } } //esta es la script del Level manager public GameObject ChekkuPointo; public GameObject Player; public void RespawnPlayer() { Player.transform.position = ChekkuPointo.transform.position; } } como siempre estoy segura que se logra de manera estúpidamente fácil pero no lo logro
  8. @Samusan gracias pero no hace falta que te molestes xd creo que a partir de ahora iré estudiando mas afondo cuando tenga un problema, de hecho ya resolví lo de la barra de vida, aunque tuve que hacer todo de nuevo
  9. de hecho estoy totalmente de acuerdo, lo que me molesto en realidad es la parte "me enferma" sabes? y de hecho eso he estado haciendo, mas bien gracias a YT es que puedo programar prácticamente sola, lo que pasa es que aún no comprendo las sintaxis de algunos metodos o variables... bueno eso ultimo es cierto, al menos en la universidad en la cual estudio todos usan el termino script como femenino... y gracias por la ayuda, pero este problema ya está resuelto :P
  10. @lightbug uso los foros como ultimo recurso .-. aparte eso no es relevante, escribes esto solo para intentar molestar, es patético e inmaduro, reitero si no te gusta leer algo o te molesta ignóralo...
  11. saludos compañero, utilicé send messaje ya que fue lo primero que se me ocurrió la verdad. De hecho lo intente utilizando la forma que dices, pero me da el mismo error pero ahora intente llamar a la script de forma "directa" HP.TakeDamage(1); y ahora me dice que se requiere una referencia al campo o metodo, ya revisé la documentación y no entiendo que pasa x_x osea entiendo que se refiere a que no tiene ni idea a que lo estoy referenciando pero no entiendo como solucionarlo, y ademas que ni siquiera llega a la public void que puse en la script HP, por que no tira siquiera el print("reach"); que le puse
  12. buenas tardes, hoy tengo un problema con una barra de vida, que al iniciar el juego el valor inicial es 0. obviamente le puse que el valor inicial sea 3. En pocas palabras quiero que sean solo 3 puntos de vida y que con cada golpe se reduzca 1 la vida, pero de hecho ni siquiera empieza con la vida total y noté que siquiera reconoce la void "TakeDamage" la cual llamo mas abajo. estoy bastante segura de que revisé ya todo lo que pudiera estar causando problemas y no vi nada o no se reconocerlo... script que controla la Barra de vida public Animator anim; public float Health =3f; // Start is called before the first frame update void Start() { anim.SetFloat("Health", Health); } // Update is called once per frame public void TakeDamage(int amount) { print("reach"); Health = Mathf.Clamp(Health-amount, 0, 3); Health -= amount; } } bloque que resta(?) la vida public void EnemyKnockBack(float enemyPosX) { HPBar.SendMessage("TakeDamage", 1); jump = true; float side = Mathf.Sign(enemyPosX - transform.position.x); rb2d.AddForce(Vector2.left * side * jumpPower, ForceMode2D.Impulse); CanMove = false; Invoke("EnableMOV", 0.7f); spr.color = Color.red; }
  13. pff te ofende que le diga payaso a tu novio? si no te gusta leer algo o te molesta ignóralo... aparte esto no es Reddit, no comentes nada irrelevante
  14. gracias xD ya lo entiendo mejor, de hecho esto funciona de maravilla n_n
  15. hola a todos, me preguntaba como hacer un interruptor, me refiero que al presionar un botón se encienda la antorcha,y al presionarlo de nuevo apagarla pero la bool "TorchAble" esta hecha para que solo se pueda usar cuando un objeto especifico con la 2da script que puse, este en la escena, funciona bien pero la antorcha no se apaga cuando vuelvo a presionar el botón. public bool TorchAble; if (Input.GetKeyDown(KeyCode.F) && TorchAble == true) { gameObject.SetActive(true); } //referencia a lo de arriba public class TorchAble : MonoBehaviour { public Player player; //referencia a la script "player" // Start is called before the first frame update void Start() { player.TorchAble = true; } }
×
×
  • Create New...