Как разработать интерактивный киоск, который нуждается в двух отдельных дисплеях. (Желательно во флеше) - PullRequest
2 голосов
/ 20 октября 2011

Вот ситуация:

  • Мне нужно создать игру для интерактивного киоска.

  • Иградостаточно прост, скорее всего, это будет сделано во flash / AS3 (я считаю, что это лучший выбор для такого рода игр), ЕСЛИ ОБЕСПЕЧЕНИЕ требования двойного дисплея намного проще выполнить с помощью другой технологии.

  • Киоск состоит из двух дисплеев, каждый из которых должен отображать отдельный контент из одной и той же игры.

Вотвопрос:

Как я (или кто-либо другой) могу создать флеш игру, которая использует два отдельных дисплея для разного контента?(Это не просто более широкое поле зрения для игры, на двух экранах будут отображаться разные вещи.)

Я прошу метод, с помощью которого это можно сделать, а не информацию о кодировании игры.

[ПРАВИТЬ] Моя идея (вероятно, не самая лучшая):

Создайте игру на холсте, в два раза шире одного из мониторов, затем разделите холст пополами код игры, чтобы выводить разные вещи на каждую половину экрана.Затем запустите мониторы в режиме «расширенный рабочий стол» или что-то в этом роде и убедитесь, что разделение между двумя рабочими столами происходит в середине игрового холста.

[РЕДАКТИРОВАТЬ] Два дисплея питаются от одной и той же машины и одного и того же графического адаптера.Весь «киоск» работает на одной машине.

Ответы [ 4 ]

1 голос
/ 20 октября 2011

Если вы можете запустить приложение флэш-памяти в веб-браузере, вам, возможно, удастся избежать передачи данных между Flash и Javascript, а затем передать данные Javascript между окнами браузера (и ради них запустить полноэкранный режим браузера) презентации).

Итак, в основном Flash в окне 1 -> Javascript в окне 1 -> Javascript в окне 2 -> Flash в окне 2

1 голос
/ 20 октября 2011

Идеальный пиксель, как вы уже упоминали, вы можете запустить разделенный экран.

Другим подходом может быть использование Flash LocalConnection:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/LocalConnection.html

Объекты LocalConnection могут общаться только между файлами, которые работает на том же клиентском компьютере, но они могут быть запущены в различные приложения - например, файл работает в браузере и SWF-файл, запущенный в Adobe AIR

Через центральный контроллер синхронизация между дисплеями может поддерживаться для обоих приложений, а LocalConnection выступает в качестве коммуникационного конвейера.

Или вы можете установить хост-сервер, через который обмениваются приложения Flash.

Если встроено в Adobe AIR, два приложения могут взаимодействовать в одноранговой сети с помощью flash.net.ServerSocket.

1 голос
/ 20 октября 2011

Каркас фликселя имеет функцию камеры с разделенным экраном: http://flixel.org/features.html

1 голос
/ 20 октября 2011

Самый простой способ, вероятно, с неким MVC-подобным дизайном. Отделите игровую логику от экрана (экземпляры MovieClip) и заставьте каждый экран отображать свой собственный вид отдельно.

Так что в этом решении у вас будет какой-то класс Model с фактическими игровыми данными, и каждый «экран» будет перетягивать данные и рисовать все, что нужно для рисования.

Это то, для чего MVC должен быть хорош - разделение проблем типа «какова моя игра (состояние)» (модель) и «как мне нарисовать X аспектов моей игры здесь» (просмотр).

...