Показать сообщение отдельно
Старый 26.02.2013, 18:39   #2
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Очень нужна ваша помощь

Первое что бросается в глаза ошибка в условии:

if (Time.timeScale != 0)
        {
            if(
Input.GetKeyDown(KeyCode.UpArrow))
            {
                
SetUp(false);
            }
            else if(
Input.GetKeyUp(KeyCode.UpArrow))
            {
                
SetUp(false);
            } 
условие дублируется дважды, я так думаю во втором случае имелось ввиду KeyCode.DownArrow? тогда нужно в метод передать true и в методе менять ее на false

void Up()
    {
        
Vector3 temp transform.position;
        
temp.4;
        
transform.position temp
Такая конструкция сразу перенесет объект в позицию с координатой Y = 4.
Для плавного перемещения используйте Translate:

transform.Translate(Vector3.up Time.deltaTimeSpace.World); // как пример из справки 
Вот подробнее
http://docs.unity3d.com/Documentatio...Translate.html

И затем проверяйте условием достиг ли объект y=4. Если достиг то обнуляйте переменную up.

З.Ы. Писал без юнити под боком, но надеюсь идея понятна
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Федор (26.02.2013)