![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 187
|
Подскажите пожалуйста с синтаксисом.
Я намудрил, конечно, но может быть можно это побороть. Итак, есть главный класс Game который создаёт подкласс Ball который создаёт подкласс Bonus Game -> Ball -> Bonus Создаётся оно так: // в классе Game _ball = new Ball(); addChild (_ball); // в классе Ball _bonus = new Bonus(br); addChild (_bonus); А вот как мне вызваь эту же процедуру из класса Bonus? |
|
|||||
|
Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
|
Game(parent.parent).myProcedure(); //но это худшее решение
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Передать ссылку на game в bonus.
|
|
|||||
|
угу
public class Game { ... _ball = new Ball(this); ... } public class Ball { private var _game:Game; public function Ball(game:Game) { _game = game; } ... _game.myProcedure(); } Цитата:
|
|
|||||
|
Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
|
вариант на ивентах:
public class Game extends Sprite { public function Game() { super(); super.addEventListener( "myEvent", this.onMyEvent ); super.addChild( new Ball() ); } private function onMyEvent( event:Event ):void { trace("onMyEvent"); this.myFunction( event.target as Bonus ); } private function myFunction( bonus:Bonus ):void { trace("myFunction", bonus); } } public class Ball extends Sprite { public function Ball() { super(); super.addChild( new Bonus() ); } } public class Bonus extends Sprite { public function Bonus() { super(); setTimeout( this.onTimeOut, 100 ); } private function onTimeOut():void { super.dispatchEvent( new Event( "myEvent", true, false ) ); } } |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 187
|
Спасибо большое. Буду пробовать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|