PDA

Просмотр полной версии : onLoad deprecated?


ir73
02.07.2006, 13:42
Раньше я использовал в классах, который ассайнятся через линкедж в библиотеке такой эвент - onLoad - который говорил, что вся инициализация этого И дочерних мувиков закончена и можно обращаться к методам и переменным оных. Теперь такая конструкция не катит.

Migration issue: The onLoad event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'load', callback_handler).

private function onLoad (e:Event) {

Что ж, использую такую конструкцию : addEventListener ( 'load', callback_handler)., но эвент не срабатывает! Более того тут его тоду нет http://livedocs.macromedia.com/flex/2/docs/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part5_ProgAS.html

fishbounce
02.07.2006, 14:09
в хелпе все написано. кто и какие события передает. Посмотри, пожалуйста.
Например, для UIComponent, возможно то, что тебе нужно (цитирую хелп):
creationComplete - Dispatched when the component has finished its construction, property processing, measuring, layout, and drawing.
или
initialize - Dispatched when the component has finished its construction and has all initialization properties set.

ir73
03.07.2006, 20:07
в моем случае конструкция следующая:
class MyClass extends MovieClip {}
в хелпе смотрел, мувиклип никаких подобных эвентов не расылает

fishbounce
03.07.2006, 20:18
ну, может, тогда
added подойдет?
генерится, когда объект добавлен в display list.
И вообще, сформулируй пожалуйста, что тебе конкретно нужно.

ir73
03.07.2006, 20:50
допустим в моем мувике, который экстендит класс, есть еще мувик. Мне надо поймать момент, когда все свойства и проперти дочернего мува проинициализирпуются и к нему можно обратиться. Раньше это юыл onLoad в АС2.0

fishbounce
03.07.2006, 22:50
ну, когда ты написал:
var mc : MovieClip = new MovieClip();
тогда у тебя и проинициализировалось...
можешь спокойно к нему обращаться, в чем проблема?
можешь писать, например:
mc.x = 100; mc.alpha = .5; ...
а потом добавить его на сцену:
this.addChild( mc );
и отловить событие "added"...

ir73
03.07.2006, 23:26
да, но ведь я не создаю его динамически. Он у меня уже лежит на сцене.

Следственный эксперимент показал, что эвент "added" подходит, то есть срабатывает в моем случае. Более того, похоже что эвент и не нужен никакой. Можно уже обращатьяс к дочернему мувику в конструкторе родителя.

Usnul
04.07.2006, 17:42
не понимаю в чем проблема

addEventListener(Event.COMPLETE,onLoadHandler);
public function onLoadHandler(evt:Event){
trace("Me loaded!");
}
что еще? (=