У меня возникла проблема, я делаю раннер на Android, как Сабвей Серф. В общем, все бы ничего, код управления написал, но возникла проблема: у меня по задумке должно быть не 3 дорожки, как в Сабвее, а 9. Как три дорожки сделать я додумал, а вот как сделать больше трех голову ломаю все утро. Можете наводку дать, как добавить еще дорожек?
Цитата
using UnityEngine; using System.Collections;
public class Movent : MonoBehaviour { public GameObject Player; //Объявляем игрока int Speed = 2; //Объявляем скорость bool Alive; //Мы живы? Vector3 Damp = new Vector3(0.0f,0.0f,0.0f);
Эта игра? И на сколько я смог понять, ты просто жмешь влево и право чтоб менять дорожку? Если да то не понятно чем это отличается от 3 или более дорожек? Я не понимаю что именно ты не можешь сделать, ведь ты уже можешь передвигаться на 3х
И на сколько я смог понять, ты просто жмешь влево и право чтоб менять дорожку? Если да то не понятно чем это отличается от 3 или более дорожек? Я не понимаю что именно ты не можешь сделать, ведь ты уже можешь передвигаться на 3х
Да, эта игра. Просмотри код внимательно, и узри, как происходит проверка того, на какой дорожке ты в данный момент, и поймешь, в чем моя проблема.
Почти что, 1,4. Проблема в том, что как бы и 2.8, и 4.2 тоже больше 0.5, поэтому, кроме добавления еще одной переменной (что весьма сомнительно) я ничего не придумал.
int path; /// количество дорожек float height;/// расстояние между дорожками int currentPath;///на какой дорожке находится игрок float speed;/// скорость движения
Сорри за приставучесть, но как сделать, чтобы перескакивал персонаж на другую дорожку единожды? Т.е., сейчас выходит так, что если провести пальцем и ударживать, то движение идет практически бесприрывно. Возможно ли сделать задержку, либо 1 линия по тач скрину - 1 смена дорожки?
Сообщение отредактировал Grimerdie - Вторник, 24 Июня 2014, 17:27
В общем, отталкиваясь от кода выше, я написал свой, с кусками другого) Короче, проблема в том, что после перехода на другую дорожку, персонаж еще скользит какое-то время по направлению движения, как кубик льда. И да, когда я в провожу по экрану, то действие выполняется, но стоит мне оторвать пальцы, как персонаж прекращает движение, будто я через while делаю (хотя у меня именно через if и Вектор3.Лерп).
UPD: Либо сделать проверку на то, чтобы между переходами на дорожки была проверка, был ли убран палец с тачскрина, или нет.
Код
Цитата
var Speed : float = 2.0f; var playerxwanted = Vector3(0.0,0.0,0.0); var currentRoad; var SideSpeed : float = 1.0f;
function OnTriggerEnter (other : Collider) { Speed = 0; } function OnTriggerExit (other : Collider) { Speed = 2; }
function Start(){ currentRoad = 5; }
function FixedUpdate () { transform.position += transform.forward *Speed * Time.deltaTime; if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition; { switch(currentRoad) { case 1: playerxwanted.x = -8.0f; if(touchDeltaPosition.x > 8) { currentRoad = 2; } break;