Форум 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=127658)

iflamberg 20.07.2009 21:30

а я буду перебирать все столкновения героя с блоками в классе-родителе героя и блоков. И ничего не надо никому передавать. Только всплыть событием, что "я-герой передвинулся, нужно меня потестить на предмет столкновений"

marat_sa 21.07.2009 12:00

Цитата:

Сообщение от ripeLime (Сообщение 836903)
Ну я делаю в мейн классе:
stage.addChild(hero);

А потом в другом классе делаю new hero:Hero = stage.getChildAt(1) as Hero;
Конечно это не очень хорошо, т.к если кто-то в мейн классе случайно поменяет местами добавление в список отображение, то это приведёт к не очень приятным последсвиям.

Я в играх делаю специальные контейнеры, раскладываю их в нужном порядке, а потом уже в функции добавления объекта на сцену кладу его в нужный контейнер.
Например,
Код AS3:

private var _containerForWindows:Sprite; //модальные окна
private var _containerForPlayer:Sprite;    //игрок
private var _containerForEnemys:Sprite;  //враги
private var _containerForBgItems:Sprite; //фон
 
//а в конструкторе
_containerForBgItems = new Sprite();
_containerForEnemys = new Sprite();
_containerForPlayer = new Sprite();
_containerForWindows = new Sprite();
 
addChildAt(_containerForBgItems , 0);
addChildAt(_containerForEnemys , 1);
addChildAt(_containerForPlayer , 2);
addChildAt(_containerForWindows , 3);

Хотя если будете проверять столкновения, то имеет смысл класть интерактивные объекты в 1 контейнер.

Zik. 21.07.2009 13:29

Цитата:

Сообщение от iflamberg (Сообщение 836904)
а я буду перебирать все столкновения героя с блоками в классе-родителе героя и блоков. И ничего не надо никому передавать.

Это способ AS 2.0...
А мне охото идти в ногу со временем.

За все ответы всем спасибо.

Psycho Tiger 21.07.2009 19:04

Гм, а разве ооп изменился от as2 к as3?..


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

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