Я пытаюсь создать игру для удара по мячу в формате бейсбола.Я создаю шар в качестве сборного.Я хочу перенести мяч на главную сцену в течение определенного периода времени.
Например;когда первый шар находится на сцене, второй шар появится через 5-6 секунд, затем третий, четвертый и т. д. Я начинающий уровень Unity, и я не очень хорош в C #.Я не уверен, использую ли я настоящие функции, такие как Instantiate.Вот мой сценарий:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ball : MonoBehaviour {
public float RotateSpeed = 45; //The ball rotates around its own axis
public float BallSpeed = 0.2f;
public GameObject[] prefab;
public Rigidbody2D rb2D;
void Start() {
rb2D = GetComponent<Rigidbody2D>(); //Get component attached to gameobject
Spawn ();
}
void FixedUpdate() {
rb2D.MoveRotation(rb2D.rotation + RotateSpeed * Time.fixedDeltaTime); //The ball rotates around its own axis
rb2D.AddForce(Vector2.left * BallSpeed);
InvokeRepeating("Spawn", 2.0f, 2.0f);
}
public void Spawn ()
{
int prefab_num = Random.Range(0,3);
Instantiate(prefab[prefab_num]);
}
}
После применения этого сценария результат не тот, который я хочу.