2015-10-22 2 views
0

Я собираюсь сделать индивидуальную клавиатуру с номером в единстве. Мне интересно, как я могу сделать это простым способом с очень коротким и чистым кодом. Ниже приведен код, объясняющий мою идею.Единство | C# Как сделать индивидуальную цифровую клавиатуру

var str=""; //This is the result string that i have to send to host 

var key0 = document.getElementById('key0').value; 
var key1 = document.getElementById('key1').value; 
var key2 = document.getElementById('key2').value; 
var key3 = document.getElementById('key3').value; 
... so on 

key0.onclick= function() { //button click events 
    str += "0"; 
} 

key1.onclick= function() { 
    str += "1"; 
} 

key2.onclick= function() { 
    str += "2"; 
} 

key3.onclick= function() { 
    str += "2"; 
} 
... so on 

function getStr() { 
    return str; 
} 

Я знаю, что этот код является мусором, но я просто так думаю; события. Но если я сделаю каждую кнопку в качестве игровых объектов, то у всех у них есть коллайдеры? и коллайдеры знают, когда они коснулись. поэтому я так же подумал.

var array = [key0, key1, key2, key3, ...]; //The list consisted of the gameobjects 

foreach (array as arr) { 
    arr.collider.onTouched = function() { //Assign the events to each gameobject's collider 
     str += arr.getNumber(); // custom function 'getNumber' to attach the number to string 
    } 
} 

Я просто рисую код. oh, и важная вещь возвращает строку результата, когда я нажимаю клавишу ввода. поэтому я думаю, как я могу сделать get, установить функцию в коде C# в единстве. У меня это работает в функции onUpdate?

Пожалуйста, дайте мне знать, что является лучшей идеей для обработки этого процесса. Благодарю вас.

ответ

1

IMHO лучшим способом является использование Canvas API с менеджером компоновки для автоматической настройки ваших кнопок. И все кнопки запускают событие для одного и того же метода приемника и передают значение ключа. Вы должны уйти от всего лишь нескольких строк кода.

Я построил на для VR, но подход одинаков:

http://talesfromtherift.com/vr-canvas-keyboard/

+0

Спасибо за обмен большую информацию, но причина, почему я хочу сделать пользовательские клавиатуры является то, что мне нужно только цифровые кнопки, а также хорошо смотрятся с помощью разработанных изображений. –

+0

Да, я бы использовал холст и добавлял вертикальный макет, а затем 4 горизонтальных макета ниже этого. На каждой горизонтали добавьте 3 или 4 кнопки. Вы можете использовать текст или изображение для кнопки. Затем отправьте событие onclick для обработки. – peterept

Смежные вопросы