Стрелки клавиатуры в GUI объектах

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Стрелки клавиатуры в GUI объектах

Сообщение yeah48rus 19 ноя 2012, 12:55

добрый день уважаемые форумчане , хотелось бы вам задать вопрос касающийся реализации "стрелок на клавиатуре" в GUI на экране монитора, чтобы нажатие на кнопку экрана, было равносильно нажатию кнопки на клавиатуре . Собственно , отправляю вам кусок скрипта, который я использую , но работает он к сожалению не так как нужно... т.к. у меня существует несколько объектов , которым присваивается данный скрипт . при нажатии кнопок на клаве, движение всех объектов с данным скриптом происходит синхронно, при нажатии на экране, срабатывает только один объект с данным скриптом. дело скорее в используемых функциях , да только вопрос - можно ли эти функции объединить в Update ?или как обойти данный глюк...
Синтаксис:
Используется csharp
void OnGUI()
    {

        if (direction == Direction.none)
        {
                        //To make the button invisible, add the property GUIStyle.none
                        //if (GUI.Button(new Rect(Screen.width - Screen.width/3,0+Screen.height/3,Screen.width/3,Screen.height/3),"",GUIStyle.none))
            if (GUI.Button(new Rect(Screen.width - Screen.width/3,0+Screen.height/3,Screen.width/3,Screen.height/3),"",GUIStyle.none))
            {
                Input.GetKey("right") ;
                                direction = Direction.right;
            }

            if (GUI.Button(new Rect(0,0+Screen.height/3,Screen.width/3,Screen.height/3),"",GUIStyle.none))
            {  
                                Input.GetKey("left") ;
                direction = Direction.left;
            }

            if (GUI.Button(new Rect(Screen.width/3,0,Screen.width/3,Screen.height/3),"",GUIStyle.none))
            {  
                                Input.GetKey("up") ;
                direction = Direction.up;
            }

            if (GUI.Button(new Rect(Screen.width/3,Screen.height - Screen.height/3,Screen.width/3,Screen.height/3),"",GUIStyle.none))
            {  
                                Input.GetKey("down") ;
                direction = Direction.down;
            }

        }
    }
       
     void Update()
    {                          
        if (direction == Direction.none)
        {

            if (Input.GetKey(KeyCode.RightArrow) || Input.GetKey("right"))
            {
                direction = Direction.right;
            }

            if (Input.GetKey(KeyCode.LeftArrow) || Input.GetKey("left"))
            {
                direction = Direction.left;
            }

            if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey("up") )
            {
                direction = Direction.up;
            }

            if (Input.GetKey(KeyCode.DownArrow) || Input.GetKey("down"))
            {
                direction = Direction.down;
            }
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06

Re: Стрелки клавиатуры в GUI объектах

Сообщение yeah48rus 01 дек 2012, 18:28

вопрос решился)))) всем спасибо ))) могу поделиться скриптом если кому будет интересно...))
yeah48rus
UNец
 
Сообщения: 30
Зарегистрирован: 18 ноя 2012, 22:06


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 29