Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не создает мувик через класс (http://www.flasher.ru/forum/showthread.php?t=96566)

Molecula 01.06.2007 22:54

не создает мувик через класс
 
Решил учиться писать на АS2.
Суть задачи: Грузятся данные из XML файла. Считываются атрибуты, и по их значениям во флешке гурзяся картинки.
С XML я разобрался, а вот с
Код:

createEmptyMovieClip
ну никак не могу разобраться, что я неправильно пишу. Информации особой не нашел по этому поводу, посему и спрашиваю. В чужих примерах вроде всё работает, а когда пытаюсь повторить шаги - ничего не выходит. Видать простых мелочей не вижу.
Ниже пример класса, который должен создать на сцене мувик и загрузить туда изображение:

Код:

class molecula.ImageLoader extends MovieClip {

 private var _mc:MovieClip;

 public function ImageLoader(image:String) {
 
 _mc.createEmptyMovieClip("_mc", this.getNextHighestDepth());

 var _mcl:MovieClipLoader = new MovieClipLoader();

 var listenerObject:Object = new Object();
 listenerObject.onLoadComplete = function(_mc) {
 trace("com")
 }
 
 _mcl.addListener(listenerObject);
 _mcl.loadClip(image, _mc);
 }
}

В кадре пишу так:

Код:

import molecula.ImageLoader;
new ImageLoader("images/1.jpg");

Где тут ошибка?

BigDan 01.06.2007 22:58

_mc у нас существует?

etc 01.06.2007 23:07

0. _mc не существует;
1. Мувиклипы в AS2 через конструктор и new не создаются.

BigDan 01.06.2007 23:10

наследование здесь - безсмысленное

Molecula 01.06.2007 23:11

Мммм..так я же создаю его такой срокой:
Код:

_mc.createEmptyMovieClip("_mc", this.getNextHighestDepth());
Или так нельзя в AS2?

2 __etc, BigDan, хорошо, буду разбираться.

BigDan 01.06.2007 23:14

ты не можешь создать новый клип в клипе, которого не существует(_mc)

screamge 01.06.2007 23:14

Код:

import mx.utils.Delegate;

class molecula.ImageLoader extends MovieClip {
        private var __listenerObject:Object;
        private var __mcl:MovieClipLoader;
       
        public function ImageLoader(image:String) {
                this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth());
               
                __mcl = new MovieClipLoader();
                __listenerObject = new Object();
               
                __listenerObject.onLoadComplete = Delegate.create (this, this.tracer)
               
                __mcl.addListener(listenerObject);
               
                __mcl.loadClip(image, this.pic_mc);
        }
       
        private function tracer ():Void {
                trace ('com')
        }
}

вызов:

Код:

import molecula.ImageLoader;

var loader:ImageLoader = new ImageLoader ('mypic.jpg');

Цитата:

Сообщение от BigDan
наследование здесь - безсмысленное

А как ты собираешься делать createMovieClip без него? просвяти пожалуйста

BigDan 01.06.2007 23:22

createEmptyMovieClip он делает в _mc,а не в this.

screamge 01.06.2007 23:25

я про "бесмысленное" наследование от MovieClip спрашиваю

BigDan 01.06.2007 23:28

Цитата:

А как ты собираешься делать createMovieClip без него? просвяти пожалуйста
ты это спрашивал. забываешь свои вопросы?


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

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