Jump to content
UnitySpain

Search the Community

Showing results for tags 'scripting'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui
  • El Blog de Pioj

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 106 results

  1. Es posible y alguien podría decirme, como acceder vía código, a un archivo que no esté importado en el proyecto. Mas concreta mente, a un archivo de vídeo, estoy intentando hacer un "reproductor de vídeo" con unity, por eso, si conozco el path de un archivo de video externo al proyecto, es posible que unity acceda a el?
  2. Francisco Carlos Bocanegra Jiménez 54 min Buenas abro esta consulta porque estoy realizando un inventario que se guarde en XML, anteriormente hice otro pero ahora mi problema es que no entiendo porque debo poner la database en static, ya que si lo hago no puedo realizar los cambios mediante el inspector. os dejo imágenes para que podáis verlo visualmente, ya que no se como añadir a dicha database los valores con código, porque no consigo acceder hasta los niveles mas profundos. Si alguien puede ayudarme o conoce algún resource que me ayude a la hora de trabajar posteriormente con los valores se lo agradezco, gracias de antemano. La pregunta es como podría añadir mas objetos a dicho xml mediante código desde otra class, porque no sé como acceder al nivel de la database correspondiente. PD: no me deja adjuntar la imagen asi que pongo el trozo de código: using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using System.Xml; using System.Xml.Serialization; public class InventorySaveController : MonoBehaviour { public static InventoryDatabase inventoryDB; public static void SaveItems() { XmlSerializer serializer = new XmlSerializer(typeof(InventoryDatabase)); FileStream stream = new FileStream(Application.dataPath + "/Resources/XMLSaves/ContainerContents.xml", FileMode.Create); serializer.Serialize(stream, inventoryDB); stream.Close(); } [System.Serializable] public class ItemEntry { public string itemName; public int quantity; } [System.Serializable] public class InventoryDatabase { [XmlArray("Inventory")] public List<ItemEntry> list = new List<ItemEntry>(); } }
  3. Hola! Necesito algo de ayuda en realizar un script (Preferiblemente en JavaScript) para que un InGameObject (En este caso, el del jugador) pueda rotar usando el mouse en un eje, haciendo que el jugador rote de lado a lado usando el mouse, esto se utiliza en juegos como Skyrim y Oblivion cuando la tercera persona está activa, tengo una cámara orbital para el jugador que lo sigue hacia arriba y hacia abajo, también hacia los lados, y lo que quiero es que la cámara siempre muestre la espalda del jugador. Muchisimas gracias de antemano!
  4. until
    Se realizará un live streaming en el canal https://www.twitch.tv/eskemagames
  5. Hola, estoy teniendo problemas para hacer la animación de correr. El problema aparece cuando quiero cambiar de dirección mientras el personaje está corriendo, parece que al ser tanta velocidad, el personaje resbala por el suelo. Tengo dos vídeos, en uno la velocidad es baja y en otro es alta. VÍDEO 1: https://gyazo.com/1dd3dd4ba68fe6eceffd2b1ced6b9284 VÍDEO 2: https://gyazo.com/0b4c855937572048ce4d4e3f6dcbdc5b Aquí os dejo el código que estoy usando. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed = 2f; private Rigidbody2D rb2d; public float maxSpeed = 5f; private Animator anim; public bool grounded; public bool pressrun; void Start () { rb2d = GetComponent<Rigidbody2D> (); anim = GetComponent<Animator> (); } // Update is called once per frame void Update () { anim.SetFloat ("Speed", Mathf.Abs(rb2d.velocity.x)); anim.SetBool ("Grounded", grounded); anim.SetBool ("PressRun", pressrun); } void FixedUpdate(){ float h = Input.GetAxis ("Horizontal"); rb2d.AddForce (Vector2.right * speed * h); float limitedSpeed = Mathf.Clamp (rb2d.velocity.x, -maxSpeed, maxSpeed); rb2d.velocity = new Vector2 (limitedSpeed, rb2d.velocity.y); if (Input.GetKey ("k")) { pressrun = true; rb2d.velocity = new Vector2 (limitedSpeed * 2, rb2d.velocity.y); } else { pressrun = false; } if (h > 0.1f) { transform.localScale = new Vector3 (1f, 1f, 1f); } if (h < -0.1f) { transform.localScale = new Vector3 (-1f, 1f, 1f); } } } Muchas gracias a todos.
  6. Hola buenas, estoy realizando un pequeño proyecto y se me ha ocurrido gran idea (notese lla ironía) de dar la opción al usuario de elegir entre castellano e inglés. Mi problema viene con que soy incapaz de encontrar una manera eficiente de hacer esto, mi primera idea consistía en cambiar todos los textos en función de una variable idioma directamente desde el código, algo así: if (idioma == 0){ titulo = "title"; }else if (idioma == 1){ titulo = "titulo"; } Pero al ver lo largo y tedioso de este proceso desistí y me enfrasqué en la búsqueda de un sistema más practico. He llegado a la conclusión de que la mejor opción es crear un archivo .json compuesto por una lista compuesta por otras sub listas, cada una de las cuales sería un idioma, pero no estoy seguro de si esto es posible, pues no tengo unos conocimientos especialmente avanzados en este ámbito y me esta dando verdaderos dolores de cabeza. Mi codigo actual es algo así: Lista de idiomas: { "Lenguage":[ [ "title", "New Game", "Continue", "Options", "Exit", "Volume", "Lenguage", "Controller", "Keyboard", "Graphics", "Done", "Pause", "Achievements", "Exit to main menu", "Pres Esc to continue"], [ "Titulo", "Nueva partida", "Continuar", "Opciones", "Salir", "Volumen", "Idioma", "Mando", "Teclado", "Graficos", "Hecho", "Pausa", "Logros", "Menu principal", "Pulsa Esc para continuar"] ] } Código: using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.IO; public class lenguages : MonoBehaviour { public int IntLenguage; public Dropdown DropLenguage; public Text Title; public Text NewGame; public Text Continue; public Text Options; public Text Options1; public Text Exit; public Text Volume; public Text Lenguage; public Text Controller; public Text Keyboard; public Text Graphics; public Text Graphics1; public Text Done; public Text Done1; string filePath; string jsonString; void Start () { filePath = Application.dataPath + "/Data/Options.json"; jsonString = File.ReadAllText (filePath); options info = JsonUtility.FromJson<options> (jsonString); IntLenguage = info.lenguage; DropLenguage.value = IntLenguage; filePath = Application.dataPath + "/Data/Lenguage.json"; jsonString = File.ReadAllText (filePath); ListaLenguages lista = JsonUtility.FromJson<ListaLenguages> (jsonString); Title.text = lista [IntLenguage [0]]; } } //He hecho esto en base a un tutorial el cual no explicaba esto concretamente y por ello hay cosas como estas que no estoy seguro de como modificar para listas [System.Serializable] public class Lenguage1{ public string title; public string NewGame; public string Continue; public string Options; public string Exit; public string Volume; public string Lenguage; public string Controller; public string Keyboard; public string Graphics; public string Done; public string Pause; public string Achievements; public string ExitToMainMenu; public string PresEsc; } [System.Serializable] public class ListaLenguages{ public List<Lenguage1> Lenguage; } Pues este es mi problema, agradecería tanto una ayuda con este código en concreto como una forma mejor de hacerlo, gracias a todos y espero con ansia cualquier respuesta. Pdt.: Lamento cualquier falta ortográfica.
  7. Hola a todo el mundo, estoy haciendo un prototipo para un RTS y me he encontrado con un problema bastante serio: el click del ratón. En líneas generales, mi problema es que al hacer click sobre el terrain (haciendo uso del Ray) las coordenadas de hit son siempre las mismas (las coordenadas del GameObject "Terrain"). ¿Cómo puedo hacer para que al hacer click vaya a donde he hecho click y no al transform.position del GameObject clickado? Por otro lado, he puesto RigidBody a dos GameObjects y al moverlos con transform.Translate() o bien se chocan y empujan mutuamente o bien (haciendo freeze a los ejes o haciéndolos kinemáticos) hacen como que no son sólidos y se atraviesan. ¿Qué puedo hacer?
  8. Hola buenas, pregunto tras rebuscar y super rebuscar en internet y encontrar lo mismo. ¿Sabeis de alguna especie de listado donde te expliquen como funcionan las funciones o metodos basicos en scripts y como usarlos? Me refiero a como hacer que por ejemplo los objetos se destruyan, o el jugador se mueva, o salte, o que aparezca un texto con la puntuación actual y se actualice en pantalla. He conseguido encontraren la web de unity las funciones, pero si es el caso como el mio, que soy muy nuevo en esto, es dificil de entender las explicaciones que te dan en la web oficial, pues parece que dan a entender que ya sabes del tema y algunos no tenemos ni idea. Queria saber si alguien conoce de un pdf o algo similar donde se recaude medianamente explicado los metodos basicos mas usados en scripts para unity. Si es posible pdf mejor porque me dedico a estudiar en el metro y los buses. Gracias a todos los de la comunidad!
  9. Buenos días, estoy intentando hacer un tablero dinámico de cartas para un juego. El problema que tengo es que el tablero no me sale centrado cuando el tamaño del mismo varía. Lo he intentado de todas las maneras pero no encuentro la manera de hacer que funcione. creo el tablero de la siguiente manera: public void CrearTableroCartas () { int cont = 0; for(int x=0; x<anchoAlto; x++){ for(int i=0; i<anchoAlto; i++){ float factor = 9.0f / anchoAlto; Vector3 posicionTemp = new Vector3(x * factor, i * factor, 0); GameObject cartaTemporal = Instantiate(carta, posicionTemp, Quaternion.Euler(new Vector3(0, 180, 0))); cartaTemporal.transform.localScale *= factor; cartaTemporal.transform.position = posicionTemp; } } Adjunto dos imágenes del problema. Pueden ver que si el tablero tiene muchas cartas, se centra pero si hay pocas se escala bien el tamaño pero no se quedan centradas y se pierden un poco. ¿Alguien tiene alguna idea de como resolverlo? Muchas gracias de antemano! Saludos.
  10. Buenas tardes, llevo tiempo desarrollando un proyecto en Unity y está prácticamente finalizado. El problema que me encuentro es que en algunos dispositivos moviles o tablets, cuando le doy a START en el juego y se invoca el LoadScene... no funciona bien. Se queda en primer plano la pantalla principal y en segundo plano si se escucha la pantalla del juego y se puede mover, pero claro al quedar en segundo plano no se ve. Utilizo un procedimiento sencillo para cargar la escena una vez que se da a START en la pantalla principal. void CargarEscenaJuego() { SceneManager.LoadScene (EscenaACargar, LoadSceneMode.Single); } Les adjunto dos capturas. Una es la pantalla principal y la otra es como se ve una vez que se le da a START. Aparentemente carga todo bien; audios, controles, assets,etc... pero se queda en segundo plano. Es raro que pase en algunos dispositivos, no esn todos. Agradecería mil si alguien tiene una idea de lo que puede ocurrir ya que llevo tiempo dándole vueltas. Muchas gracias de antemano! Saludos!
  11. Buenas tardes, agradecería por favor una mano en un pequeño problema que tengo. Estoy terminando un proyecto y ahora me encuentro con esto... La cosa es sencilla , tengo un simple inputfield el cual me deja insertar lo que quiera.. Lo que intento es capturar esa String en un playerpreff para luego usar ese texto en otra pantalla. Prove esto; using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; public class Loguin : MonoBehaviour { public InputField insertarcodigo; string codigo; void Start() { PlayerPrefs.SetString("Codigo",codigo); PlayerPrefs.Save(); } void Update() { if (Input.GetKeyDown ("space")) { codigo = insertarcodigo.text; PlayerPrefs.GetString ("Codigo"); //Debug.Log ("El codigo es:" + codigo); Debug.Log ("El codigo es:" + PlayerPrefs.GetString ("Codigo")); } } } pero nada, cuando llamo al pref GetString pensaba que me cojeria la string de codigo pero no. si le llamo al debug directamente a la string(codigo), si me lo da pero lo que quiero es que me la guarde y no lo hace. Agradecería una ayuda por favor, asi puedo terminar este proyecto. muchas gracias de antemano.
  12. Buenas noches , tengo un dilema con una bola de un juego tipo "arkanoid" que estoy montando. Todo va bien excepto cuando la bola vuelve a la plataforma , allí deberían resetearse las fisicas que le aplico en el start. Para ello uso la función de el Rigidbody2D y lo pongo en kinematico, creía que con esto bastaria....pero no , cada vez que renace la bola va mas rápida, evidentemente esta duplicando la fuerza asignada en el start....pero no se porque! Espero que puedan ayudar. Alla va el script: using UnityEngine; using System.Collections; public class BallScript : MonoBehaviour { private bool ballIsActive; private Vector3 ballPosition; private Vector2 ballInitialForce; public GameObject playerObject; public AudioClip hitSound; AudioSource audio; private Rigidbody2D rb; void Start () { rb = GetComponent<Rigidbody2D>(); ballIsActive = false; ballInitialForce = new Vector2 (50.0f,300.0f); ballPosition = transform.position; audio=GetComponent<AudioSource>(); } void Update () { if (Input.GetButtonDown ("Jump") == true) { if (!ballIsActive) { ///reseteamos la fuerza? rb.isKinematic = false; rb.AddForce (ballInitialForce); ballIsActive = !ballIsActive; } } if (!ballIsActive && playerObject != null) { ballPosition.x = playerObject.transform.position.x; transform.position = ballPosition; } } void OnCollisionEnter2D(Collision2D collision) { if (ballIsActive) { audio.PlayOneShot (hitSound); } if (collision.gameObject.tag == "mata") { if (ballIsActive) { Debug.Log ("muere"); ballIsActive = !ballIsActive; ballPosition.x = playerObject.transform.position.x; ballPosition.y = -4.5f; transform.position = ballPosition; rb.isKinematic = true; playerObject.SendMessage ("TakeLife"); } } } }
  13. Hola, quiero hacer que se dispare un objeto cada dos segundos pero lo que he conseguido es que a los dos segundo tire el objeto pero no uno ,dispara como una metralleta.Solo quiero que cada dos segundos dispare uno. Gracias de antemano. pragma strict var projectile : Rigidbody; var TiempoDisparo : float; var speed = -7; function Start () { } function Update () { disparador(); } function disparador(){ yield WaitForSeconds(TiempoDisparo); var instantiatedProjectile : Rigidbody = Instantiate( projectile, transform.position, transform.rotation ); instantiatedProjectile.velocity = transform.TransformDirection( Vector3( speed, , ) ); Physics.IgnoreCollision( instantiatedProjectile. GetComponent.<Collider>(), transform.root.GetComponent.<Collider>() ); }
  14. Hola quiero hacer un script de js que coja un número de una escena y salga en otra escena. Ejemplo:Escena uno un texto con el número 2 ,Escena dos un texto con el mismo valor que en la escena uno vamos dos.
  15. Hola amigos, me interesa mucho su comunidad y ojala pueda ser un usuario activo para ofrecerles mi ayuda en cuanto a programacion, diseño y redaccion de historias ya que esta son las tres principales cosas que mas me gustan a eso tambien a organizar equipos ya que me gusta la Ing En Sistemas, espero poder ser de ayuda a ustedes y viceversa sin mas nada que decir los quiero <3 Saludos!
  16. Buenas tardes, Tengo una duda y quiero preguntarles: Tengo un sencillo sistema de paga para mi juego el cual simplemente me muestra en una textura de radar los enemigos y los busca por tag, Esto funciona perfectamente el problema viene en la distancia en que los detecta. por mucho que le suba la public float no aumenta la distancia en que me aparecen en el radar y no se el motivo.... Allá va el script: using UnityEngine; using HWRcomponent; using System.Collections; namespace HWRcomponent { public enum Alignment { None, LeftTop, RightTop, LeftBot, RightBot , MiddleTop , MiddleBot } } public class RadarSystem : MonoBehaviour { private Vector2 inposition; public float Size = 400; // tamaño e el mapa public float Distance = ;// distania maxima de los objetos public float Transparency = 0.5f;// transparencia de lso objetos public Texture2D[] Navtexture;// lista de texturs public string[] EnemyTag;// lista de tags de los objetos public Texture2D NavCompass;// textura de el compas public Texture2D CompassBackground;// textura de el fondo public Vector2 PositionOffset = new Vector2 (, );// posición de el minimapa public float Scale = 1;// escala de el minimapa public Alignment PositionAlignment = Alignment.None;// alineamiento public bool MapRotation; public GameObject Player; public bool Show = true; public Color ColorMult = Color.white; void Start () { } void Update () { if (!Player) { Player = this.gameObject; } if (Scale <= ) { Scale = 100; } // define la posición switch (PositionAlignment) { case Alignment.None: inposition = PositionOffset; break; case Alignment.LeftTop: inposition = Vector2.zero + PositionOffset; break; case Alignment.RightTop: inposition = new Vector2 (Screen.width - Size, ) + PositionOffset; break; case Alignment.LeftBot: inposition = new Vector2 (, Screen.height - Size) + PositionOffset; break; case Alignment.RightBot: inposition = new Vector2 (Screen.width - Size, Screen.height - Size) + PositionOffset; break; case Alignment.MiddleTop: inposition = new Vector2 ((Screen.width / 2) - (Size / 2), Size) + PositionOffset; break; case Alignment.MiddleBot: inposition = new Vector2 ((Screen.width / 2) - (Size / 2), Screen.height - Size) + PositionOffset; break; } } Vector2 ConvertToNavPosition (Vector3 pos) { Vector2 res = Vector2.zero; if (Player) { res.x = inposition.x + (((pos.x - Player.transform.position.x) + (Size * Scale) / 2f) / Scale); res.y = inposition.y + ((-(pos.z - Player.transform.position.z) + (Size * Scale) / 2f) / Scale); } return res; } void DrawNav (GameObject[] enemylists, Texture2D navtexture) { if (Player) { for (int i=; i<enemylists.Length; i++) { if (Vector3.Distance (Player.transform.position, enemylists [i].transform.position) <= (Distance * Scale)) { Vector2 pos = ConvertToNavPosition (enemylists [i].transform.position); if (Vector2.Distance (pos, (inposition + new Vector2 (Size / 2f, Size / 2f))) + (navtexture.width / 2) < (Size / 2f)) { float navscale = Scale; if (navscale < 1) { navscale = 1; } GUI.DrawTexture (new Rect (pos.x - (navtexture.width / navscale) / 2, pos.y - (navtexture.height / navscale) / 2, navtexture.width / navscale, navtexture.height / navscale), navtexture); } } } } } float[] list; void OnGUI () { if (!Show) return; GUI.color = new Color (ColorMult.r, ColorMult.g, ColorMult.b, Transparency); if (MapRotation) { GUIUtility.RotateAroundPivot (-(this.transform.eulerAngles.y), inposition + new Vector2 (Size / 2f, Size / 2f)); } for (int i=; i<EnemyTag.Length; i++) { DrawNav (GameObject.FindGameObjectsWithTag (EnemyTag [i]), Navtexture [i]); } if (CompassBackground) GUI.DrawTexture (new Rect (inposition.x, inposition.y, Size, Size), CompassBackground); GUIUtility.RotateAroundPivot ((this.transform.eulerAngles.y), inposition + new Vector2 (Size / 2f, Size / 2f)); if (NavCompass) GUI.DrawTexture (new Rect (inposition.x + (Size / 2f) - (NavCompass.width / 2f), inposition.y + (Size / 2f) - (NavCompass.height / 2f), NavCompass.width, NavCompass.height), NavCompass); } } Linea 26: public float Distance 0 ; Gracias.
  17. Hola a todos!!, he estado trabajando en un guardado automatico para un juego de estilo novela visual, he podido guardar las escenas automaticamente y ahora estoy intentando guardar el dialogo exacto en donde quedo el jugador antes de salir del juego, para eso tuve que comunicar variables entre script para decirle al playerprefs que cada ves que hiciera click el jugador para cambiar de dialogo guardara el dialogo y el dialogo esta en otra script, sin embargo cuando reproduzco el juego me sale el error : Object reference not set to an instance of an object nose como solucionarlo PD: el que dice dialogue es el string que saque del otro script dialoguemanager y el que contiene el dialogo del juego que quiero guardar MUCHAS GRACIAS POR LEER. public class savegame : MonoBehaviour { public DialogueManager manager; static public int level; // Use this for initialization public void OnGUI() { DialogueManager manager; string dialogo; manager = GameObject.Find("DialogueManager").GetComponent<DialogueManager>(); dialogo = manager.dialogue; if (Input.GetMouseButtonDown(0)) { PlayerPrefs.GetString("llave", dialogo); }
  18. Buenas compañeros! Os comento un problema que tengo con mi personaje principal de mi juego 2D. Estoy desarrollando uyn pequeño hack'n'slash 2D, donde el orco es nuestro personaje el cual podemos atacar con él y movernos horizontalmente. Para el movimiento hgorizontal, tengo implementado un código para , que al moverse a izquierda o derecha, el sprite sufra un transform.localScale y se voltee horizontalmente hacia la dirección a la que se dirije el jugador. Bien, pues cuando hago un test, si presiono la D (para ir hacia la derecha) mi orco empieza a voltear horizontalmente descontroladamente, y una vez pulso A o izquierda, se queda mirando a esa dirección, a pesar de lo que haga. Según el profesor, está bien programado (es lo mismo que lo hizo él). Quizás vosotros podáis arrojame algo de luz sobre el tema. Gracias!! El código: using UnityEngine; using System.Collections; public class ControlPersonaje : MonoBehaviour { Rigidbody2D rgb; Animator anim; public float Maxvel = 5f; bool haciaDerecha = true; // void Start () { rgb = GetComponent<Rigidbody2D> (); anim = GetComponent<Animator> (); } // void FixedUpdate () { float v = Input.GetAxis ("Horizontal"); Vector2 vel = new Vector2 (0, rgb.velocity.y); v *= Maxvel; vel.x = v; rgb.velocity = vel; anim.SetFloat ("speed", vel.x); if (haciaDerecha && v <= -1) { haciaDerecha = false; Flip (); } else if (haciaDerecha && v >= 1) { haciaDerecha = true; Flip (); } } //Voltea horizontalmente el personaje void Flip() { var s = transform.localScale; s.x *= -1; transform.localScale = s; } }
  19. Hola! estoy programando un personaje que rote alrededor de un objeto,lo he conseguido con el rotate.Around,el problema es que no colisiona y me gustaria saber como lo hariais(por favor no me digais que añadiendo un box collider que no funciona).Mi idea es hacer la colision como el simple.Move,y he visto algo sobre una funcion llamada Quartenion pero no la entiendo muy bien,si alguien puede decirme lo que sea lo agradeceria.
  20. Buenas, me estoy iniciando en el mundo de la programación y bueno... si alguien dispone de un pdf o conoce el nombre de alguna web que me pueda ayudar a comprender mejor, me sería de mucha ayuda. PD: No decidme el manual de la web de Unity a mi parecer tiene cosas que no explica bien. GRACIAS!!
  21. Recientemente tuve un problema con los acentos en Unity, el problema era que en la escena el text UI no leia correctamente los acentos y el signo de interrogación siguiente( ¿ ), lo cambiaba por iconos con esto( ? ), para solucionarlo es importante utilizar visual studio. 1º-. Probar a cambiar la fuente al componente Text en la escena. 2º-. Dirígete al script donde el string con el texto con acento, en visual studio clikea en Archivo>Opciones avanzadas para guardar... y en codificación selecciona la opción Unicode(UTF-8 con signatura) y acepta, esto debería solucionar tu problema. IMPORTANTE: Si tienes una base de datos, accede a el mediante visual studio y realiza el 2º paso para asegurarte de que se solucione correctamente. Espero haber ayudado. Un saludo.
  22. Soy un nuevo miembro de UnitySpain, mi nombre es Mihai y tengo una duda a cerca de la programación en Unity, mi problema es que quiero mostrar en un texto que tengo puesto en la escena del juego lo siguiente( ÁáÉéÍíÓóÚú ) para probar los acentos en Unity y resulta que al iniciar el juego me muestra una serie de interrogaciones como esta( ? ) una por cada caracter, mi pregunta es ¿que puedo hacer para que Unity lea correctamente y con los acentos ese texto(ÁáÉéÍíÓóÚú) o cualquier otro? Gracias de antemano.
  23. hola a todos, estoy trabajando en un proyecto y se me ha presentado un problema con la inteligencia artificial de un enemigo, lo que sucede es que cuando cambia su animacion de normal a ataque este genera una rotacion en X que no deberia tener, ya revise la animacion y esta no tiene grabado esa rotacion por lo que no se que la esta generando, ya que en el rigidbody ya le restringi las rotaciones en X y Z. utilizo lookat() para fijar la vista en el jugador, no se hacer para que deje de rotar en x.
  24. Buenas tardes Tengo un problema con un int que aprenetemente es facul pero me lleva de cabeza. Quiero añadir +1 a un public int en este caso numero de bolas al llegar a una puntuación...pues no hay manera. Este script alberga el numero de bolas: using UnityEngine; using System.Collections; public class BallManager : MonoBehaviour { public GameObject ball; public Transform spawnPosition; public TextMesh display; public int lives = 3; public bool gameOver = false; AudioSource audio; public GameObject luzx1; public GameObject luzx2; public GameObject luzx3; void Update() { AudioSource audio = GetComponent<AudioSource> (); //Check for gameover if (lives < ) { if (display) { display.text = "GAME OVER"; gameOver = true; } } //Ball cae y no es game over if (!GameObject.FindGameObjectWithTag ("Ball") && !gameOver) { lives--; Instantiate (ball, spawnPosition.position, ball.transform.rotation); audio.Play (); luzx1.SetActive (true); luzx2.SetActive (false); luzx3.SetActive (false); ScoreManager.Instance.SetScorePower (1); //Update bolas restantes if(display) { display.text = "BOLAS RESTANTES: " + lives.ToString(); } } if(gameOver) { if(Input.GetKeyDown(KeyCode.Return)) { Application.LoadLevel(Application.loadedLevel); } } } } Este es el que intento que añada una bola extra al llegar a xxxx puntos. using UnityEngine; using System.Collections; public class ScoreManager : MonoBehaviour { public static ScoreManager Instance; void Awake() { Instance = this; } public int score =; public int scorebumper =50000; public int scoredianas =100; public int scoreagujeros =10000; public int scoretarjets =100; public int scorePower = 2; public int bankvalue =10000; public TextMesh display; public GameObject Ballmanager; private bool detener; void Update() { if (display) { display.text = score.ToString ("D8"); } if (score == 10000 && detener == false) { Invoke("millonn",1); } } public void ScoreUp(int points) { score += (points * scorePower); } public void SetScorePower(int power) { scorePower = power; } void millonn() { Debug.Log ("MILLLOOOOONNN"); Ballmanager.GetComponent<BallManager> ().lives =+3 ; } } Pues no hay manera me aumenta las 3 bolas...pero si me queda una bola antes de llegar a la puntuación me suma las 3.... si le pongo +1 me deja en 1....agradeceria un aire a este problema , Gracias de antemano y un saludo.
  25. Buenas noches, una pregunta por favor. Necesito que una plataforma de vueltas cuando algo se le choca. si le añado esto: public float speed; transform.Rotate(20,*Time.deltaTime*speed,); Gira sin problemas sobre su axis. Pero si le añado la colisión: using UnityEngine; using System.Collections; public class gira : MonoBehaviour { public float speed; //public float time; void OnCollisionEnter(Collision collision){ foreach (ContactPoint contact in collision.contacts) { transform.Rotate(20,*Time.deltaTime*speed,); } } } Gira pero se detiene en el primer segundo de el time.deltatime. Probé con trigger en vez de collision y el resultado es el mismo. Probé añadiendo un float tiempo pero hace caso omiso... Agradeceria una idea. Gracias
×
×
  • Create New...