Я пишу маленькую игру, в которой объекты попадают случайно, мне нужно реализовать логику, где я могу вычислить интервал ожидания для следующего экземпляра в соответствии с таймером. (Поскольку игра прогрессирует, время ожидания появления спава должно уменьшаться).Необходимо уменьшить промежуток времени ожидания появления всплытия (float), основанный на значении time.time, мгновение двух объектов должно уменьшаться на некоторую долю
я пытаюсь икру объекты в игре те объекты, имеете жизнь до следующего появляться, игроку необходимо закладках пальцы, как они появляются, и я пытаюсь создать экземпляр эти пальцы быстрее по мере продвижения игры
только изо всех сил, чтобы получить математическое уравнение, чтобы получить значение для spawnWait, основанного на Time.time. Надеюсь, я написал это правильно сейчас.
мне нужно уравнение для графа что-то вроде в первом кватере (+ х, + у) для time.time & икры ждать. хотя и не очень уверен.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameController : MonoBehaviour {
// Use this for initialization
public GameObject GoodThumb;
public GameObject BadThumb;
public int max = 22;
public float spanWait = 10.0f;
public static bool gameOver = false;
Vector3 theNewPos = Camera.main.ViewportToWorldPoint(new Vector3(0,0,11));
Quaternion theNewRotation= Quaternion.Euler(0,0,0);
void Start() {
StartCoroutine(spawn());
OnGameStart();
}
void Update() {
Time.deltaTime
}
// Update is called once per frame
void Update() {
// SpawnRandom();
ChooseFinger();
}
public int ChooseFinger()
{
return Random.Range (1, 5);
}
void OnGameStart()
{
//Debug.Log ("Game Started");
}
IEnumerator spawn() {
GameObject go;
while(true)
{
int randomLoop = Random.Range(2,5);
for (int i = 0; i < randomLoop; i++)
{
pickRandomFinger();
go = Instantiate(GoodThumb);
go.transform.position = theNewPos;
go.transform.rotation = theNewRotation;
// Debug.Log(theNewPos);
// Debug.Log(theNewRotation);
yield return new WaitForSeconds(spanWait);
}
pickRandomFinger();
go = Instantiate(BadThumb);
go.transform.position = theNewPos;
go.transform.rotation = theNewRotation;
yield return new WaitForSeconds(spanWait);
if (gameOver)
{
break;
}
}
}
public void pickRandomFinger()
{
int FingerNo = ChooseFinger();
Debug.Log (FingerNo);
switch (FingerNo)
{
case 1: // finger1 type bottom good
theNewPos = Camera.main.ViewportToWorldPoint(new Vector3(Random.Range(0.0F,1.0F),1.0F, 11));
theNewRotation = Quaternion.Euler(0,0,180);
break;
case 2: // finger4 type right good
theNewPos = Camera.main.ViewportToWorldPoint(new Vector3(1.0F,Random.Range(0.0F,1.0F), 11));
theNewRotation = Quaternion.Euler(0,0,90);
break;
case 3: // finger2 type top good
theNewPos = Camera.main.ViewportToWorldPoint(new Vector3(Random.Range(0.0F,1.0F),0.0F, 11));
theNewRotation = Quaternion.Euler(0,0,0);
break;
case 4: // finger3 type left good
theNewPos = Camera.main.ViewportToWorldPoint(new Vector3(0.0F,Random.Range(0.0F,1.0F),11));
theNewRotation = Quaternion.Euler(0,0,270);
break;
}
}
}
Что вы хотите сказать? – fxm
Пожалуйста, не добавляйте теги в заголовок. Это заголовок, а не запрос Google. –
Просто уменьшите spanWait за обновление. И, может быть, ре-фактор для spawnWait? – Catwood