2012-02-24 2 views
1

Мне просто интересно, что будет лучшим решением для приема текстового ввода от пользователя в PlayN. Я не нашел ничего, что мог бы использовать для достижения этого, я думаю, что лучшим решением будет сделать что-то вроде входов HTML для написания текста, но это будет не так просто, потому что мы должны иметь возможность использовать в пример виртуальной клавиатуры от android (на платформе android) и обычной клавиатуры на HTML-сервере. Даже тогда я думаю, что будет очень сложно (или невозможно) вызвать клавиатуру Android в игре ...Лучшее решение для пользовательских входов, таких как ввод текста

Я думаю о создании виджета в библиотеке пользовательского интерфейса tripleplay (потому что я буду использовать его), но это закончится с визуализацией виртуальной клавиатуры на экране для пользовательских входов .. кнопки от az и т. д.

Интересно, есть ли лучшее решение для этого, или мне нужно реализовать что-то вроде того, что я написал выше (например, виджет tripleplay)?

ответ

2

Существует уже виджет Tripleplay для приема текстового ввода, который называется Field.

Однако он очень примитивен и еще не работает на мобильных платформах (он будет работать на устройстве Android с аппаратной клавиатурой). Нам нужно предоставить API в PlayN, чтобы отобразить виртуальную клавиатуру, но до сих пор нет возможности запускать отображение виртуальной клавиатуры.

Я не рекомендую использовать это для любого существенного ввода текста. Он не поддерживает и не будет поддерживать вырезание и вставку, или методы ввода языка, или что-либо из других чрезвычайно сложных функций, которые пользователи ожидают ввода текста.

Я хотел бы добавить API для PlayN как:

Keyboard.requestTextInput(String label, Callback<String> callback) 

которая выскочит виртуальной клавиатуры, с прикрепленным (родной) текстовое поле и дать пользователю возможность ввести одну строку текста используя все механизмы поддержки исходного текста платформы. Это позволит им вырезать и вставлять, а также использовать методы ввода языка и предоставлять опыт, которым они удобны на рассматриваемой платформе.

Если вашей игре требуется более сложный ввод текста (например, интерфейс чата или возможность делать страницы заметок), вам, вероятно, придется создать отдельный интерфейс для каждой платформы, которую вы хотите поддерживать, используя собственный многострочный текст редактируя виджеты, а затем «подключайте» их в свою игру PlayN. Это будет сложнее, чем может быть описано в простом ответе SO, поэтому вам нужно будет провести какое-то исследование и узнать, как PlayN управляет отображением на каждом из backend, которые вы хотите поддержать.

+0

спасибо за повтор ... я просто попробую поле, но он не работает даже в JAVA .. когда я щелкнул, и я попытаюсь ввести что-то, что он не отобразит .... Мне интересно, если они какие-то планы для вас предложение для виртуального keybord с API для PlayN «Keyboard.requestTextInput (String label, Callback callback)», и если так ... когда это будет возможно ... Я думаю, что этот вид юзабилити понадобится .. Много игр будет использовать текстовые входы от пользователей .. как имена персонажей и многое другое ... – btk

+0

жаль, что он хорошо работает с аппаратной клавиатурой (просто забудьте добавить клавиатуру(). setListener (klistener);) .. но мой дальнейший вопрос открыт (о виртуальный keybord с API для PlayN) :) – btk