![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Подскажите, кто знает...
У меня на сцене 2е кнопки (forward_btn и back_btn), есть главный класс Main(ниже), ис него я обращаюсь к этим кнопкам - всё работает! Но, в классе Main создаётся экземпляр класса LoaderPhotos, и вот вопрос: Как из класса LoaderPhotos обратится к кнопкам, которые на сцене? package src.sargun { import flash.display.Sprite; import flash.events.*; import flash.utils.Timer; public class Main extends Sprite{ ////////////// ОБЪЯВЛЕНИЕ СВОЙСТВ ////////////////////// private var photoLoader:LoaderPhotos; //////////////////////////////////////////////////////// /////////////// ИНИЦИАЛИЗАЦИЯ КЛАССА /////////////////// public function Main():void { photoLoader = new LoaderPhotos(); addChild(photoLoader); forward_btn.addEventListener(MouseEvent.MOUSE_DOWN, forwardDown); back_btn.addEventListener(MouseEvent.MOUSE_DOWN, backDown); } //////////////////////////////////////////////////////// //////////////// ОБЪЯВЛЕНИЕ МЕТОДОВ /////////////////// private function forwardDown(e:MouseEvent):void{ trace("ok"); photoLoader.nextPhoto(); } private function backDown(e:MouseEvent):void{ trace("ok"); photoLoader.prevPhoto(); } /////////////////////////////////////////////////////// } } |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
в создаваемом экземпляре класса:
1. Создаем слушателя добавления этого класса на stage. 2. После обработки этого события, убиваем этот слушатель и обращаемся к кнопке. к стати для кнопок: подойдет больше: так как кнопки у вас лежат на сцене, достучаться до них можно только после того, как ваш код сможет обращаться к stage, а это возможно только после того как экземпляр класса добавится на stage. Последний раз редактировалось AlexDesinger; 01.07.2009 в 14:54. |
|
|||||
|
чёто не получается.. я делаю так:
package src.sargun { import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; import flash.display.Loader; import flash.text.TextField; import flash.display.Bitmap; import flash.display.BitmapData; import flash.geom.Matrix; import flash.geom.Rectangle; import flash.utils.Timer; import com.gskinner.motion.GTween; import fl.motion.easing.*; public class LoaderPhotos extends Sprite{ ////////////// ОБЪЯВЛЕНИЕ СВОЙСТВ ////////////////////// //////////////////////////////////////////////////////// /////////////// ИНИЦИАЛИЗАЦИЯ КЛАССА /////////////////// public function LoaderPhotos():void { this.addEventListener(Event.ADDED_TO_STAGE, added); } //////////////////////////////////////////////////////// //////////////// ОБЪЯВЛЕНИЕ МЕТОДОВ /////////////////// private function added(e:Event):void{ trace(back_btn); } /////////////////////////////////////////////////////// } } |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Не должен LoaderPhotos обращаться к кнопкам на сцене, логика неправильная. Создайте класс PhotoViewer, в него поместите LoaderPhotos(PhotoLoader красивее) и кнопки навигации. В нем же реализуйте вызов PhotoLoader.nextPhoto, prevPhoto, а также enabling/disabling кнопок.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|