Input.inputString (Shift, Space, Ctrl...)

Программирование на Юнити.

Input.inputString (Shift, Space, Ctrl...)

Сообщение ArtUni3d 22 ноя 2011, 02:00

Input.inputString возвращает буквы и цифры, но при нажатии Shift, Ctrl, Enter, Space, Delete, End, Tab, F1-F12 и.т.д. он возвращает пустой стринг.
Как так?
И еще, он обычные цифры от нумпада не отличает? И там и там одно и тоже выдает, цифру.

p.s. Нужно для ингейм настроек управления, установки значения пользователем.
Можно конечно написать пол сотни условий, но это как-то не православно)
Аватара пользователя
ArtUni3d
UNITрон
 
Сообщения: 249
Зарегистрирован: 27 апр 2011, 22:12

Re: Input.inputString (Shift, Space, Ctrl...)

Сообщение waruiyume 22 ноя 2011, 06:13

Event.keyCode
upd
Индусский вариант:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections.Generic;

public class KbEvent : MonoBehaviour
{
    public Dictionary<string, KeyCode> actions = new Dictionary<string, KeyCode>(2);
    private string settedAction="none";

    void Start()
    {
        actions.Add("jump",KeyCode.None);
        actions.Add("run",KeyCode.None);
    }

    void OnGUI()
    {
        if (GUI.Button(new Rect(10f, 10f, 150f, 30f), settedAction=="jump"?"press any key":actions["jump"].ToString()))
            settedAction = "jump";
        else if (GUI.Button(new Rect(160f, 10f, 150f, 30f), settedAction == "run" ? "press any key" : actions["run"].ToString()))
            settedAction = "run";

        if (settedAction != "none")
        {
            KeyCode jb=KeyCode.None;
            for (KeyCode k = KeyCode.Backspace; k < KeyCode.Joystick3Button19; k++)
            {
                if (k == KeyCode.Mouse0) k = KeyCode.JoystickButton0;
                if(Input.GetKey(k))
                jb = k;
            }
            if (jb != KeyCode.None)
            {
                actions[settedAction] = jb;
                settedAction = "none";
            }
        }
    }
}

 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Input.inputString (Shift, Space, Ctrl...)

Сообщение ArtUni3d 22 ноя 2011, 14:57

О, не видел этого класса. Спасибо:)
Аватара пользователя
ArtUni3d
UNITрон
 
Сообщения: 249
Зарегистрирован: 27 апр 2011, 22:12


Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10