Я хочу создать небольшую игру, в которой хочу увеличить скорость перемещения игрового объекта и появления игровых объектов через фиксированный интервал.
Может ли кто-нибудь подсказать мне, как это сделать?
Это мой код:
BalloonSpawner.cs
Код: Выделить всё
public class BalloonSpawner : MonoBehaviour
{
[Header(" Gameplay Elements ")]
[SerializeField] GameObject balloonPrefab;
void Update()
{
if (Time.time > nextSpawn)
{
nextSpawn = Time.time + spawnRate;
StartCoroutine(SpawnBalloons());
}
}
IEnumerator SpawnBalloons()
{
yield return new WaitForSeconds(spawnRate);
float randomXPosition = Random.Range(-1.5f, 1.5f);
GameObject balloonInstance = Instantiate(balloonPrefab, new Vector3(randomXPosition, -4.5f, 0), Quaternion.identity);
}
}
Код: Выделить всё
public class BalloonMover : MonoBehaviour
{
[Header(" Settings ")]
[SerializeField] public float balloonFlySpeed = 1f;
void Update()
{
BalloonFlyer();
}
void BalloonFlyer()
{
transform.Translate(Vector3.up * balloonFlySpeed * Time.deltaTime);
if (transform.position.y > 3.5f)
{
PopBalloon();
}
HandleTouchInput();
}
void HandleTouchInput()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
Vector2 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
RaycastHit2D hit = Physics2D.Raycast(touchPosition, Vector2.zero);
if (hit.collider != null && hit.collider.gameObject == gameObject)
{
PopBalloon();
}
}
}
}
void OnMouseDown()
{
PopBalloon();
}
void PopBalloon()
{
Destroy(gameObject);
}
}
По какой-то причине я вижу переменную в блоках кода, но, пожалуйста, посмотрите на блоки кода выше. . Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/791 ... bject-spaw
Мобильная версия