Добавить текстовое представление в Cocos2d действительно нужно - PullRequest
0 голосов
/ 31 марта 2012

Мне нужно реализовать виджет TextView в cocos2d-android-1 и не знаю, как помочь

TextView textView = null;

textView.setText(R.string.billing_not_supported_message);
addChild(textView);

Этот код не работает, потому что addChild нужен узел. Пожалуйста, помощь действительно нужна.

1 Ответ

1 голос
/ 24 апреля 2012

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

На данный момент, ваш единственный реальный вариант - использовать аналогичный подход к моему предыдущему ответу здесь

ANDROID: как открыть веб-страницу в классе расширяет CCLayer

, благодаря чему у вас есть макет, который выводит текстовое представление на экран (или вы сами создаете его в своем обработчике), и вы используете обработчик из действия, в котором работает ваша сцена, чтобы показать / скрыть его.

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

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

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

...