Jump to content
UnitySpain

samorente

Registrados
  • Content Count

    6
  • Joined

  • Last visited

  • Days Won

    1

samorente last won the day on May 31

samorente had the most liked content!

Community Reputation

3 Neutral

About samorente

  • Rank
    Recién Llegado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

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

  1. Sí, estoy haciendo un curso online y apenas llevo un mes, lo siento si mis dudas son demasiado básicas, me gustaría saber como lo haría una persona con más experiencia para tomar ejemplo.
  2. Hola a todos, he creado el siguiente código using System.Collections; using System.Collections.Generic; using UnityEngine; public class LevelScript : MonoBehaviour { public int experience; public int fuerza; public int Level { get { return experience / 750; } } void levelUp() { if (Level = Level ++) { fuerza = fuerza++; } } } La variable experience está "anclada" a este otro script pero creo que para mi duda no es importante, aún así lo pongo por si acaso. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CustomEditor(typeof(LevelScript))] public class LevelScriptEditor : Editor { public override void OnInspectorGUI() { LevelScript myTarget = (LevelScript)target; myTarget.experience = EditorGUILayout.IntField("Experience", myTarget.experience); EditorGUILayout.LabelField("Level", myTarget.Level.ToString()); } } Mi duda es: quiero que cuando la variable Level se incremente, que también lo haga la variable fuerza. Al poner el primer código me dice que la variable Level es de solo lectura y por lo tanto no me deja añadirla al if ¿Existe alguna forma de cambiar los permisos de la variable Level para que tenga permisos de escritura? No se si mi dedución es correcta o si hay alguna otra manera mas óptima de hacer lo mismo (que seguramente la haya) Muchas Gracias.
  3. Hola perdón por la espera xD, ya lo solucioné para que se cumpliera la condición si o si lo que hice fué establecer la posición del objeto con anterioridad. Pero gracias de todas formas ahora entiendo que si quiero que pase algo (por ejemplo: si el personaje llega a un sitio que salte una cinemática) es mejor seleccionar un rango que poner medidas exactas, lo que no se si es mejor hacerlo como me dijistes con vector3.Distance o que si el personaje entra en contacto con un collider que salte la cinemática.
  4. Muchas gracias por la respuesta. Esto era solamente de prueba, ya que tuve curiosidad (asi que al no ser un proyecto real no tuve cuidado con el orden). Llegué a la conclusión de que es mejor usar los colliders si quiero que al llegar a un sitio pase algo. Lo que he estado haciendo con el anterior código (el que escribi en el foro) es poner manualmente en Unity los valores x, y, z que especifico en el script. Pero ahora probé otra vez hacerlo con if (evento.transform.position == new Vector3(-114.15f, 2.04f, -95.61f)) especificando otra vez los valores manualmente en Unity y en teoría siempre se cumple la condición pero no imprime el mensaje por la consola, dejo otra vez el código por aquí using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { private Transform evento; // Use this for initialization. void Start() { objeto(); } // Update is called once per frame void Update() { } void objeto() { evento = GetComponent<Transform>(); if (evento.transform.position == new Vector3(-114.15f, 2.04f, -95.61f)) { Debug.Log("Evento"); } } }
  5. Hola a todos, tengo una duda Me gustaría hacer una cosa: cuando un objeto llegue hasta una posicion que suceda algo. Lo he intentado hacer pero tengo error de sintaxis en la siguiente línea: if (evento.position = new Vector3(-114.15f, 2.04f, -95.61f)) private Transform evento; void objeto() { evento = GetComponent<Transform>(); if (evento.position = new Vector3(-114.15f, 2.04f, -95.61f)) { Debug.Log("Evento"); } } Muchas Gracias.
×
×
  • Create New...