Hola estoy creando un juego en donde mi personaje tiene que esquivar dos tipos de obstaculos calles y autos, con la calles todo bien, pero con los autos no, ya que como me salen aleatorios a veces aparecen en la mitad de la pantalla, o vemos como caen solamente.
Aquí dejo el código del spawn y del desplazamiento del auto.
ALEATORIO
using System.Collections.Generic;
using UnityEngine;
public class AleatorioScript : MonoBehaviour {
public float secs = 1.0f;
public GameObject[] obst;
float countdown;
// Use this for initialization
void Start () {
countdown = secs;
}
// Update is called once per frame
void Update () {
countdown -= Time.deltaTime;
if (countdown <= 0) {
int obstSelector = Random.Range(0, 2);
float obstPositionX = Random.Range (-6.5f, 6.5f);
Instantiate(obst[obstSelector], transform.position + new Vector3(obstPositionX, 0.0f, 0.0f), transform.rotation);
countdown = secs;
}
}
}
DESPLAZAMIENTO
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesplazarScript : MonoBehaviour {
public float velocidadMin, velocidadMax;
public float velocidad;
public float direccion=1.0f;
void Start(){
velocidad = Random.Range (velocidadMin, velocidadMax);
}
void FixedUpdate(){
transform.position += new Vector3 (0.2f * velocidad * direccion, 0, 0);
}
void OnTriggerCollider2D(Collider col) {
if (col.tag == "Destructor") {
Destruir ();
}
}
void Destruir (){
Destroy (gameObject);
}
}
Hola Sofía, algunas preguntas:
- Si tu personaje tiene que esquivar obstáculos, por qué no dejar que el jugador lo haga con las inputs? es que todavía no visualizo bien el juego
- esos autos que son? porque tu personaje lo movés vos misma con transform.position, es decir que vas a tener que crear algun sistema de detección de obstáculos y aplicarlo para evadirlos. Si en cambio fuera un navmeshAgent (aunque supongo que es 2D lo que estás haciendo) todo este problema lo resuelven el mismo pathFinding del agente (le pasas el punto final ) ... pero esto depende de la preg anterior, todavía no me cierra
- qué calles estás esquivando? podrías subir algunas imágenes para verlo mejor
Saludos
Cita de: lightbug date=1524078554Hola Sofía, algunas preguntas:
- Si tu personaje tiene que esquivar obstáculos, por qué no dejar que el jugador lo haga con las inputs? es que todavía no visualizo bien el juego
- esos autos que son? porque tu personaje lo movés vos misma con transform.position, es decir que vas a tener que crear algun sistema de detección de obstáculos y aplicarlo para evadirlos. Si en cambio fuera un navmeshAgent (aunque supongo que es 2D lo que estás haciendo) todo este problema lo resuelven el mismo pathFinding del agente (le pasas el punto final ) ... pero esto depende de la preg anterior, todavía no me cierra
- qué calles estás esquivando? podrías subir algunas imágenes para verlo mejor
Saludos
Si aportas un poco más podemos ayudarte.
No se entiende porque multiplicas velocidad y dirección siendo estos dos valores flotantes multiplicados nuevamente por (0.2f).
Por otro lado deberias definir si los márgenes de la pantalla para que los obstáculos aparezcan fuera de la misma a unos 5 píxeles .
Por lo que deduzco el juego se mueve horizontalmente.
Cuando instancias el objeto ¿porque le sumas la posición del transform?
Ahí va un vídeo del juego, y efectivamente es un juego 2D... la verdad no se muy bien en detalle porque se hace cada cosa, son script que fui sacando de los que me dió mi profesor en clases, según sus ejercicio... soy muy novata en esto todavía..
IMG_5122.MOV (//<fileStore.core_Attachment>/monthly_2018_04/5ad7b2759f053_Capturadepantalla2018-04-18ala(s)23_01_05.png.9a1886e7b8220eb51b51bc52e133dcd6.png)
(//<fileStore.core_Attachment>/monthly_2018_04/5ad7b276471ad_Capturadepantalla2018-04-18ala(s)23_01_31.png.d7531bf2bd8e5c4dfe7ef4d568a0e2f3.png)
Osea el video está bien, todavía no visualizo el producto final, decime con tus palabras que te imaginas que debería suceder en tu juego, desde el gameplay controles, lo que puedas, porque del vid me imagino que vos controlas al zombi, en un tipo infinite runner, pero va en el aire ... o tiene que ir saltando? (para caer en esos caminos) si es así por qué es que necesitas esquivar los autos?
otra cosa que se me olvidó, ese zombi es IA o el jugador?