Форум 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)
-   -   String to MovieClip (http://www.flasher.ru/forum/showthread.php?t=107457)

bjd 01.02.2008 21:10

String to MovieClip
 
Конструктор класса Х принимает параметр mc:MovieClip. После чего mc преобразуется в строку и над ним производятся строковые манипуляции(например: из mc делается mc_1). А потом бы к этому mc_1 применить один из методов MovieClip(например: mc_1._y=100), но... ошибка компилятора:
"Свойство с именем "_y" не существует".

Код:

class X {
        private var clipName:String;

        public function X(clip:MovieClip) {
                clipName = String(clip) + "_1";
                clipName._y=100;
        }

}

Код:

var test_X:X = new X(mc);
Что необходимо сделать чтобы клип mc_1 переместился на _y=100 ?

iNils 01.02.2008 21:21

Код:

class X {
        private var __clip:MovieClip;

        public function X(clip:MovieClip) {
                __clip = MovieClip (String (clip) + "_1");
                __clip._y = 100;
        }
}


bjd 01.02.2008 22:17

Код:

class X {
        private var __clip:MovieClip;

        public function X(clip:MovieClip) {
                __clip = MovieClip(String(clip) + "_1");
                __clip._y = 100;


                trace(__clip);// выводит null
                //и клип стоит как укопаный
        }
}

Код:

class X {
        private var __clip:MovieClip;

        public function X(clip:MovieClip) {
                __clip = eval(String(clip) + "_1");
                __clip._y = 100;


               
                //теперь всё работает
        }
}


etc 02.02.2008 01:15

У вас на входе ссылка на клип, зачем извращаться со строками, не понимаю?

iNils 02.02.2008 19:40

2 bjd: согласен, я ерунду написал, бывает.
должно быть так
Код:

class X {
        private var __clip:MovieClip;

        public function X(clip:MovieClip) {
                __clip = clip._parent[clip._name + "_1"];
                __clip._y = 100;
        }
}

однако __etc прав, все это самодурство, надо передавать ссылку на клип.


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

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