У меня есть игровой объект, который движется вперед и порождает сборку каждую секунду или около того. Единственные проблемы в том, что нереста кажется неравномерным, а иногда объекты далеко друг от друга, а иногда они перекрываются. Я могу исправить это, изменив время и расстояние, но когда я протестировал его на ios, он снова сломался.Gameobject, который перемещает и запускает сборные файлы
Я попытался создать сценарий, который вытолкнул игровой объект из другого объекта, но он вытолкнул его, а затем ударил объект и другой объект, а другой.
Что я хочу, чтобы сделать это, заставит spawner двигаться вперед и поместить префаб вниз, чтобы сборные плитки не перекрывались. Мне нужно это, чтобы работать на ios. Я думаю, что это может быть нарушен из-за
здесь является порождение сценария:
using UnityEngine;
using System.Collections;
public class SpawnScript : MonoBehaviour {
public GameObject[] obj;
//public float spawnMin = 1;
//public float spawnMax = 1;
//public float spawnDistance = 0.1f;
//private float barDisplay = 3;
public float timeLeft = 0.1f;
static bool finishTimer = false; //i made this global so you can access from other scripts
static bool timerStarted = false;
//private GameObject GroundSpawner;
// Use this for initialization
void Start() {
timerStarted = true;
}
void Update(){
Timer();
transform.Translate(Vector3.forward * 0.1f);
}
void Timer(){
if (timerStarted == true) {
timeLeft -= Time.deltaTime;
if (timeLeft <= 0.0f) {
Spawn();
timerStarted = false;
}
}
}
void Spawn(){
//GroundSpawner = GameObject.Find ("Ground Spawner");
//if (GroundSpawner.transform.position) {
//Invoke ("Spawn", Random.Range (spawnMin, spawnMax));
Invoke ("Spawn", 1.75f);
Instantiate (obj [Random.Range (0, obj.Length)], transform.position, Quaternion.identity);
// }
}
}
Здесь земля выталкивая других геймобжекты сценария:
using UnityEngine;
using System.Collections;
public class GroundHittingSelf : MonoBehaviour {
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
}
void OnCollisionEnter(Collision other) {
Debug.Log("Hitting Ground without tag");
if (other.gameObject.tag == "Ground") {
//transform.position += new Vector3(0, 0, 0.1f);
Debug.Log("Hitting Ground with tag");
}
}
}
Ну, не мог точно понять, что вы пытаетесь сделать. Можете ли вы опубликовать любое изображение (скриншот) с вашим вопросом? –