Jump to content
UnitySpain

Search the Community

Showing results for tags 'diálogo'.



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 4 results

  1. ¡Buenas! Estoy empezando a crear un sistema de diálogo, y por ahora me limito a hacer pruebas, y se me ocurrieron dos ideas. Extraer el texto de un .txt Crear un txt que siguiera ciertas reglas e ir sacando el texto de el. Esta me agrada para editar más fácilmente el texto, traducir rápidamente y cosas similares, pero es más liosa. Por ejemplo: @texto1 { [Juan] Hay algo que no me gusta. } @texto2 { [Pedro] X2. } Un método que recibe un string como parámetro. Usar un string para mostrar en el TextBox. Por ejemplo: void MsgBox(string text) { instrucciones; } ¿Cuál creen que es la mejor forma de hacerlo?
  2. Hola quería saber cómo hacer que las letras de un texto se vallan poniendo una a una no todo a la vez. No sé si me he explicado bien. Gracias.
  3. Buenas a todos, mi problema en el que me quede estancado es sobre un sistema dedialogos que usa " public AssetText text " para colocar mi texto text.txt Por ejemplo tenemos 2 NPC o 3(gameObject), a cada uno le asignamos un text.txt con su dialogo en su interior y una collision 2d trigger, en el que el player cuando se acerca y luego apretamos espacio se muestra el dialogo, hasta ahi todo perfecto, pero el problema es que al activar uno me sale el dialogo de otro npc y me acero a otro npc y me sale el mismo dialogo, los 3 npc me sale el mismo dialogo siendo que le asigne diferentes textos este es el que atacho a los npc using System.Collections; using System.Collections.Generic; using UnityEngine; public class ActivateTextAtLine : MonoBehaviour { public TextAsset theText; public int startLine; public int endLine; public textBoxManager theTextBox; public bool destroyWhenActivate; public bool requireButtomPress; public static bool waitForPress; public string nombreNpc; // Use this for initialization void Start () { theTextBox = FindObjectOfType<textBoxManager> (); } // Update is called once per frame void Update () { if (waitForPress && Input.GetKeyDown(KeyCode.Space)) { waitForPress = false; theTextBox.ReloadScripts (theText); theTextBox.currentLine = startLine; theTextBox.endAtLine = endLine; //theTextBox.EnableTextBox (); if (destroyWhenActivate) { Destroy (gameObject); } } } void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.name == "Player") { if (requireButtomPress) { waitForPress = true; return; } theTextBox.ReloadScripts (theText); theTextBox.currentLine = startLine; theTextBox.endAtLine = endLine; theTextBox.EnableTextBox (); if (destroyWhenActivate) { Destroy (gameObject); } } } void OnTriggerExit2D(Collider2D other) { if (other.name == "Player") { waitForPress = false; } } } y este el manager, motor de dialogo using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class textBoxManager : MonoBehaviour { public TextAsset textFile; public GameObject textBox; public Text theText; public int currentLine; public int endAtLine; public movement player; public bool isActive; public bool stopPlayerMovement; public string[] textLines; // Use this for initialization void Start () { player = FindObjectOfType<movement> (); if (textFile != null) { textLines = (textFile.text.Split('\n')); } if (endAtLine == ) { endAtLine = textLines.Length - 1; } //theText.text = textLines [currentLine]; if (isActive) { EnableTextBox (); } else { DisableTextBox (); } } void Update() { if (!isActive) { return; } theText.text = textLines [currentLine]; if (currentLine > endAtLine) { DisableTextBox (); ActivateTextAtLine.waitForPress = true; } else { if (Input.GetKeyDown (KeyCode.Space)) { currentLine += 1; } } } public void EnableTextBox() { textBox.SetActive (true); stopPlayerMovement = true; isActive = true; if(stopPlayerMovement){ player.canMove = false; } } public void DisableTextBox() { textBox.SetActive (false); stopPlayerMovement = false; isActive = false; if (!stopPlayerMovement) { player.canMove = true; } } public void ReloadScripts(TextAsset theText){ if (theText != null) { textLines = new string[1]; textLines = (theText.text.Split ('\n')); EnableTextBox (); } } } no se que hacer, me gustaria que cada sea indivual para uno mismo y no se este mesclando dialogo entre npc. gracias de antemano.
  4. Hola a todos, Gracias de antemano por leer. Estoy realizando una novela visual en unity y para los diálogos creé un script que contiene un array y que muestra en pantalla cada linea de texto recorriéndola con un bucle for, sin embargo estoy teniendo problemas con los personajes, creé un public array sprite para asignar todas las poses de un personaje y cree un condicional que tiene como condición que la linea de texto sea par. Y aquí viene mi problema; yo quiero que cuando la linea de texto sea par entonces muestre los sprites que pertenecen a ese personaje y que todas las posiciones de ese personaje estén alineadas a la izquierda pero no se como hacer en el script para que muestre los sprites y que queden todos en esa posición, hasta ahora llevo esto la cuestion esta en el ultimo if no se que agregar adentro public TextAsset textfile; public string[] textLines; public GameObject textbox; public Text thetext; public int currentline; public int endatline; public Sprite[] characterposes = null; // Use this for initialization void Start() { if (textfile != null) { textLines = (textfile.text.Split('\n')); } if (endatline == ) { endatline = textLines.Length - 1; } } void Update() { thetext.text = textLines[currentline]; if (Input.GetKeyDown(KeyCode.Return)) { currentline += 1; } if(currentline > endatline) { textbox.SetActive(false); } if(currentline % 2== ) { } } }
×
×
  • Create New...