#unity3d
#unity3d
Вопрос:
if (Collision.ShoeIndicator)
{
GameObject p = GameObject.FindGameObjectWithTag ("Player");
Vector3 t = p.transform.position;
t.z = powerUpSpeedIncrease1 * Time.deltaTime;
p.transform.position = t;
}
для увеличения скорости powerUpSpeedIncrease1 я установил 10.0
здесь мой плеер — бесконечный бегун, когда выбран режим включения, мне нужно увеличить скорость проигрывателя, этот код на самом деле false … как я могу увеличить скорость
я использовал таймер, чтобы установить период времени для этого включения
if(timeleft <= 0)
{
//Collision.coinMag = false;
Collision.ShoeIndicator = false;
timeleft = 10;
}
Ответ №1:
Вы должны добавить
transform.position *= powerUpSpeedIncrease1;
где вы устанавливаете новую позицию игрока и устанавливаете
powerUpSpeedIncrease1 = 1;
когда игрок не использует ускорение или время использования усиления закончено, и установите
powerUpSpeedIncrease1 = 10;
при выборе усиления
В вашем коде это будет выглядеть так
if (Collision.ShoeIndicator)
{
Collision.ShoeIndicator = false; //you can pickup new shoe when you also picked up one
powerUpSpeedIncrease1 = 10;
//timeleft = 10;{timer code setting up}
//dont forget about the scope!
//powerUpSpeedIncrease1 should be available in your playercontroller or
//where you controlling player's position
}
if(timeleft <= 0)
{
powerUpSpeedIncrease1 = 1;
}
update() {
//decrease timer
}
p.s. пример таймера