Форум 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)
-   -   Доступ к компоненту Label (http://www.flasher.ru/forum/showthread.php?t=104091)

Coffein 19.11.2007 12:13

Попробывал, ни какого эффекта(неактивируется) - смотрел в хелпе, такой функции нет в Флеш 8, пробывал логическое значение - ошибка(Type mismatch in assignment statement: found Boolean where Function is required.)
числовое - все равно ошибка(...found Number where Function is required.)

aksios 19.11.2007 14:11

Вложений: 1
Я ваще не догоняю, зачем это вам надо. Пачему Label и почему в мувиклипе нужен компонент UI. Ну я бы сделал все таки как то так.->
PS: 23 кило на вывод 2х строк текста. Ну ну.

silin 19.11.2007 14:18

>>смотрел в хелпе, такой функции нет в Флеш 8

путаница:
такой функции действительно нет, это обработчик, который (если определен для мувика) будет вызываться на каждом такте (фрейме) плеера

определить его можно написав в кадре
Код:

function onEnterFrame(){
        _root.clip.t2.text = "222";
        onEnterFrame=null;
}

или присвоив onEnterFrame какой-то заранее определенный метод..
mc.onEnterFrame =someMethod;

соответсвенно mc.onEnterFrame =null убьет ссылку на функцию, обработчик не будет вызываться..


2aksios: Label.text не рид онли (с чего бы?), дело имеено в том, что доступ к сеттеру будет организован только в следующем кадре

iNils 19.11.2007 14:21

Удалять надо, а не null присваивать.

silin 19.11.2007 14:32

'надо' это слишком категорично..:)
'можно', 'лучше' (потому-то), 'удобнее' (потому-то) - еще куда ни шло..

iNils 19.11.2007 15:28

Не, наоборот. Лучше ты объясни, почему не надо удалять, а присваивать null. Я вот не вижу ни одной причины для этого.

silin 19.11.2007 15:42

нет, не наоборот: я же не говорил, что надо присваивать null, а не удалять :)

подозреваю, что есть нюансы, раз ты пишешь , но я, собственно, не встречал проблем с этим, типа халдеи (GC) подберут..), может потому так беспечен..

wvxvw 19.11.2007 16:30

На самом деле удалить онЕнтерФрейм нельзя %) т.е. он всегда существует у любого потомка МувиКлипа (Вернее, даже не так, все потомки МувиКлипа подписаны на событие с одноименным названием.). Но с практической точки зрения, лучше делать то, что предлагает iNils. Т.как "сборщик мусора" на каком-то этапе почистит место в памяти отведенное под этот ентерФрейм, а если присвоить ему значение - то он не будет чистить его никогда.

silin 19.11.2007 16:43

>>удалить онЕнтерФрейм нельзя %) т.е. он всегда существует

путаница: onEnterFrame это ссылка на метод, плеер всегда пытается его вызвать, и если он определен (существует) то и вызовется, если нет, то и не надо..

>>а если присвоить ему значение - то он не будет чистить его никогда.

тоже путаница:
onEnterFrame всего лишь ссылка на метод, ее-то мусорщик все равно не трогает, речь о методе на который onEnterFrame ссылается
после delete onEnterFrame;
onEnterFrame будет undefined;
после onEnterFrame=null;,соотвественно null
и в том и в другом случае сборщик удалит метод на который ссылался onEnterFrame

Coffein 19.11.2007 21:47

Вложений: 1
Цитата:

определить его можно написав в кадре
Так я так и сделал, все равно не идет, вот взгляните:


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

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