Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Настройка отображаемой области (http://www.flasher.ru/forum/showthread.php?t=172887)

The special one 19.12.2011 15:15

Настройка отображаемой области
 
Здравствуйте уважаемые программисты! Я делаю игру, в которой игровое поле имеет размеры 2500 на 2000 пикселей. Во время игры часть игрового поля отображается в окне с примерными размерами 1000 на 700 пикселей. У меня вопрос, как мне программно узнать ширину, высоту и координаты окна (имеется ввиду окно, которое отображает часть игрового поля) относительно игрового поля. Можно ли программно менять ширину, высоту и координаты окна отображения? Можно ли запретить изменение ширины, высоты и координат вручную?

Genzo 19.12.2011 15:27

Если вы про окно приложения, то это stage главного класса
Если у вас другой контейнер для карты, то просто смотрите его размеры :
Код AS3:

mapContainer.addChild(map);
trace(mapContainer.width,mapContainer.height);//1000 700


The special one 19.12.2011 16:41

У меня карта размером 2500 на 2000, когда я пишу
trace(mapContainer.width,mapContainer.height);//то получаю 2500 2000,
а когда я пишу trace(stage.width,stage.height);//тоже получаю 2500 2000.
У меня монитор отображает только часть карты в окне с примерными размерами 1000 на 700. Я могу менять положение окна и видеть разные участки карты. Например, если я введу
stage.align = StageAlign.TOP_LEFT; то увижу левый верхний участок карты. Если я могу наблюдать разные участки карты меняя положение окна отображения, то карта и окно смещены относительно друг друга. Так вот как мне узнать координаты окна или смещение окна относительно карты.

Genzo 19.12.2011 17:06

Не добавляйте карту прямо на stage, используйте контейнеры и внутри них ее двигайте. Для ознакомления рекомендую вам почитать о ScrollPane

alatar 19.12.2011 17:30

Цитата:

а когда я пишу trace(stage.width,stage.height);//тоже получаю 2500 2000.
Код AS3:

trace(stage.stageWidth,stage.stageHeight)


The special one 19.12.2011 17:32

Спасибо, я все понял.

Цитата:

Сообщение от alatar (Сообщение 1052412)
Код AS3:

trace(stage.stageWidth,stage.stageHeight)


Это тоже помогло.


Часовой пояс GMT +4, время: 14:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.