Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Преобразование string в MovieClip (http://www.flasher.ru/forum/showthread.php?t=146450)

Castro 08.11.2010 19:08

Преобразование string в MovieClip
 
По-моему задача тривиальная, но у меня не получается чего-то, хотя в сети много по этому поводу есть
ck_mc - мувик на стейдже

Код AS3:

var name1:String = 'ck_mc';
MovieClip(name1).alpha = 100;
//var m:MovieClip = name1 as MovieClip;
//m.alpha = 0;

Матерится конечно же

Код:

Type Coercion failed: cannot convert "ck_mc" to flash.display.MovieClip.
В чём я не прав?

Добавлено через 3 минуты
А, будет оказывается вот так

Код AS3:

this[name1].alpha = 0;

fixed

ChuwY 08.11.2010 22:01

Код AS3:

var name1:String = 'ck_mc';
var m:MovieClip = getChildByName(name1) as MovieClip;
m.alpha = 0;

так уж лучше имхо

easy.proger 08.11.2010 22:13

Код AS3:

var moveClip:MovieClip = ck_mc as MovieClip;


Jewelz 09.11.2010 12:45

Цитата:

Сообщение от easy.proger (Сообщение 948417)
Код AS3:

var moveClip:MovieClip = ck_mc as MovieClip;


и что, работает?

Psycho Tiger 09.11.2010 13:48

Цитата:

Сообщение от Jewelz (Сообщение 948509)
и что, работает?

Вполне. Не "ck_mc" as MovieClip же.

Jewelz 09.11.2010 13:49

а ругани не будет, что ck_mc не определенная переменная?

leofit 09.11.2010 13:57

Она выходит определенная если объект по имени ck_mc лежит на стейдже

Psycho Tiger 09.11.2010 14:20

Цитата:

Сообщение от leofit (Сообщение 948526)
Она выходит определенная если объект по имени ck_mc лежит на стейдже

Не на стейдже, а в контейнере, в классе которого исполняется данный код.

cleptoman 09.11.2010 14:29

чего вы человека путаете..нет у него никаких ck_mc..есть мувик с инстансНеймом "ck_mc", который лежит в контейнере.
потому правильный пост нумир 2 )

leofit 09.11.2010 14:39

Цитата:

Сообщение от Psycho Tiger (Сообщение 948532)
Не на стейдже, а в контейнере, в классе которого исполняется данный код.

Вы правы, это я из поста автора взял
Цитата:

ck_mc - мувик на стейдже

Castro 09.11.2010 16:48

Цитата:

Сообщение от ChuwY (Сообщение 948415)
Код AS3:

var name1:String = 'ck_mc';
var m:MovieClip = getChildByName(name1) as MovieClip;
m.alpha = 0;

так уж лучше имхо

А если в этом мувике лежит ещё динамическое поле, то как в него записать что-либо

Код AS3:

m.best_value.text = 'cool';

Так можно?

Jewelz 09.11.2010 16:52

да
мне кажется эту строчку быстрее вставить в код и посмотреть нежели писать пост и ждать ответа =)

Castro 09.11.2010 16:54

Или
Код AS3:

var m:MovieClip = getChildByName('ck_mc') as MovieClip;
var textFld:TextField = new TextField();
textFld = m.getChildByName('best_value') as TextField;
textFld.text = '111';


Jewelz 09.11.2010 16:55

и так и так, я предпочитаю второй вариант

Castro 09.11.2010 16:55

Цитата:

Сообщение от Jewelz (Сообщение 948601)
да
мне кажется эту строчку быстрее вставить в код и посмотреть нежели писать пост и ждать ответа =)

:D и не поспоришь, но такое ощущение что вставляет null (перезатирается дефолтное значение)

Добавлено через 29 минут
Не, я что глупые такие вопросы задаю

Код AS3:

var textFld:TextField = new TextField();
                var format:TextFormat = new TextFormat();
var m_fld:MovieClip = getChildByName('ck_mc') as MovieClip;
 m.best_value.text = '10';
                                format.font = "Verdana";
                                format.color = 0xff0000;
                                format.size = 22;
 
                                //textFld.background = true;
                                textFld.textColor = 0xffff00;
                                textFld.autoSize = TextFieldAutoSize.CENTER;
                                textFld.defaultTextFormat = format;
                trace(ck_mc_val.best_value.text);
                        trace(ck_mc_val.best_value.textColor);

По умолчанию значение равно 9, оно показывается в лейбле.
Ролик заводится, потом срабатывает евент, и дефолт пропадает, на экране ничего нету.
Но при чём трэйсы возвращают установленное значение и цвет фона. Даже можно все эти форматы выбросить и всё равно не влияет особо. Текстфилды находятся на отдельном самом верхнем слое.

Что это? Куда-то что-то надо в дисплей-лист добавить?

Добавлено через 20 часов 22 минуты
Ну хоть в какую сторону смотреть :( ?


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

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