Показать сообщение отдельно
Старый 07.10.2012, 19:39
Sinepym вне форума Посмотреть профиль Отправить личное сообщение для Sinepym Найти все сообщения от Sinepym
  № 1  
Ответить с цитированием
Sinepym

Регистрация: Oct 2012
Сообщений: 12
Question Как сделать игровой интерфейс?

Собственно, вопрос - как сделать игровой интерфейс? Как вы его делали/делаете?

Мы разрабатывает браузерную игру для социальных сетей. Там будет приличное количество различных элементов управления.

И так, художник предлагает следующий вариант - он делает весь интерфейс во Flash CS, в основном на основе MovieClip, а я уже подключаю его в проекте на FlashDevelop и обращаюсь к нужным элементам управления по именам, задавая им значения. Но мне нужны будут не только простые элементы управления, типа Button или Label, а ещё RadioButton, ToggleButton, ListBox, различные игровые элементы (предметы, информация о персонажах).

Проблема в том, что управлять всем этим в коде будет весьма затруднительным. Нужно будет писать дополнительный код, либо обёртки под MovieClip'ы, точно не знаю, как.

Выглядеть это будет примерно так:
Код AS3:
panel.user_level.text = "3";
panel.user_avatar.addChild(...); // Чтобы добавить аватарку, нужно написать отдельный код для загрузки, после удалить прошлую аватарку и добавить загруженную.
Мой же вариант основан только на коде. Все сложные элементы управления представлены собственными классами, которые скрывают определённые манипуляции вывода/загрузки данных. Графика внутри них рисуется с помощью текстур (BitmapData).

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

Выглядеть это будет примерно так:
Код AS3:
var playerIcon:PlayerIcon = new PlayerIcon(this, 10, 10);
 
playerIcon.level = 3;
playerIcon.avatar = "http://ololo.png"; // Мне остаётся лишь задать ссылку. Внутри будут произведены действия для загрузки изображения на основе ещё одного дополнительного компонента.
 
var toggleButton:ToggleButton = new ToggleButton(this, 100, 50);
 
toggleButton.selected = true;
toggleButton.label.text = "Включен";
toggleButton.label.setFont("Tahoma", 12, 0xFFFFFF);
toggleButton.texture = Resources.TOGGLE_BUTTON_TEXTURE;
Надеюсь, я смог донести до вас свою проблему и вы поможете мне определится.