|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
как корректно обратится к методу parent?
есть объект на сцене scroolpane - в нем еще объекты а в них код.
из этого кода надо изменить одно из свойств scroolpane когда идет речь о общих свойствах - длина или позиция то получается через this.parent но как только надо обратится к свойству к примеру update или setsize то пишет - обращение к возможно неопределенному методу. каков выход? говоря проще как обращатся к УНИКАЛЬНЫМ свойствам родительских компонент или к примеру запустить их метод... Последний раз редактировалось Atarion; 12.03.2011 в 21:30. |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
надо из объекта отправить наверх событие, в parent'e его поймать, вытащить из него ссылку на объект (e.target), а из самого объекта - данные, которые и обработать.
|
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
а как наверх событие вообще турнуть то? прямо указать - поймет?
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
package { import flash.display.*; import flash.events.*; public class MyObject extends Sprite { public static const CHANGE_PARENT:String = "changeParent"; public var param1:int; public var param2:int; public function MyObject() { } public function sendEventToParent() : void { // задаем параметры, которые потом считаем из парента param1 = 1; param2 = 2; // сообщаем паренту, что ему нужно считать параметры в объекте dispatchEvent(new Event(CHANGE_PARENT)); } } } Парент: package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point var myObject:MyObject = new MyObject(); addChild(myObject); myObject.addEventListener(MyObject.CHANGE_PARENT, onChangeParent); myObject.sendEventToParent(); } private function onChangeParent(e:Event) : void { var myObject:MyObject = e.target as MyObject; trace(myObject.param1,myObject.param2); } } } |
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
все ясно. спасибо. попробую
|
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
я пробую - но тут все завязано на то что должно быть package у меня пишет ошибку и публичные переменные и на статик. пишет - что только внутри класса.
а можно как то эти события парента вызывать не объявляя package? Добавлено через 8 минут то есть -как использовать этот механизм не обращаясь к этому совершенно нелогичному механизму пакетов - создавая какие то дурацкие внешние файлы as... что за странная логика? есть проект в нем библиотеки в них код - пытаюсь обратится по вышеописанному методу из одного объекта в родитель -а оно требует этого механизма всего - package потому чтоб не хочет ни публичные переменные объявлять ни статические без этого момента. |
|
|||||
Регистрация: Nov 2008
Сообщений: 528
|
Вы совсем не в ту степь.
Скопируйте в тему вашу ошибку. Цитата:
Последний раз редактировалось Stargazer; 21.03.2011 в 00:20. |
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
Атрибут private можно использовать для определений свойств класса. пишет такую ошибку.
код исполняется как "код на объекте" то есть код записанный в первом кадре movieclip в библиотеке. но я не хочу создавать никакие внешние файлы as! хорошо бы чтобы это был один файл swf какие внешние файлы зачем они? |
|
|||||
Регистрация: Nov 2008
Сообщений: 528
|
Это потому что вы бездумно делаете то, что вам подсказывают. Пример, который вам привели выше, просто иллюстрирует идею, которую вам нужно прочесть, понять и дальше использовать в ваших проектах так, как вам нужно.
(mikhilk-у: названия кастомного события ужасное, я из-за этого 2 раза перечитывал код, чтобы убедиться, что он делает то, что я думаю). Цитата:
Цитата:
Лучше, чтобы квартира состояла из 4 стен и входной двери. И строить проще и пользоваться удобнее: не выходя из комнаты можно сразу и спать и есть и мыться и в туалет ходить. |
|
|||||
Banned
[+6 20.04.11]
[+1 22.08.11] [+ 31.08.11] Регистрация: Aug 2010
Сообщений: 196
|
))))
да. и одежда зачем цветная и рвется. лучше -серые шинели( |
Часовой пояс GMT +4, время: 06:26. |
|
« Предыдущая тема | Следующая тема » |
|
|