Форум 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=86453)

etc 16.10.2006 15:26

В секции переменных.
private var text_mc:MovieClip; и т.п.

motor4ik 16.10.2006 18:45

согласен...просто это не от лени..скорее от незнания..

я станлкнулся с такой проблемой, когда в классе описывал функцию которая присваивалась событию onPress() , класс ругался на все свойства объекта которому присваивалось событие...т.к. я там использовал this, не смог обойти никак кроме dynamic , по этому это передалось и сюда, но здесь я уже понял что он не ругается

motor4ik 16.10.2006 18:51

вот про что я говорю:

Код:

class ClassName {

private target_mc:MovieClip;

public function ClassName(target:MovieClip){
      target_mc=target;
      target_mc.p=1;
      target_mc.onPress=_onPress;
}

function _onPress(){
  trace(this.p);
}
}

компилятор соответственно ругается, говорит у this нет такого свойства p , как обойти не знаю...


такая запись соответственно не дает ошибок


Код:

target_mc.onPress=function(){
  trace(this.p);
}


но она не очень удобна

iNils 16.10.2006 19:35

1. Надо объявить public var p:Number;
2. this использовать необязательно
3. И есть еще такой хак this["p"] (это так, на будущее:D)

motor4ik 16.10.2006 19:39

1 ну объявлять все свойста другого объекта это лишнее
2 да необязательно всеровно заругается
3 вот про это даже не подумал...

вобщем проще dynamic написать и не париться

iNils 16.10.2006 19:49

Цитата:

Сообщение от motor4ik
1 ну объявлять все свойста другого объекта это лишнее

Ну, это смотря как посмотреть. Ты ведь можешь и не написать target_mc.onPress=_onPress или вызвать _onPress не через target_mc, и что тогда будет? :)
Цитата:

Сообщение от motor4ik
2 да необязательно всеровно заругается

Я не к тому что ругаться будет, а что можно не писать вобще.

motor4ik 18.10.2006 18:19

вобщем еще один глюк, при добавлении это символа на рабочий стол в динамических полях перестают отображатся некоторые симолы..к чему бы это???

motor4ik 18.10.2006 18:28

БРЕД!!! Или у меня реально с флэшом беда.. Сейчас что сделал, поставил у символа в текст, Don`t embed откомпилил, все работает текст везде отображается првильно. поставил обратно Embed выделил те же пункты, откомпилил обратно все отображается четко, что за ЧЕРТ! я сутки потратил на то чтобы найти пути, неправильные ,выявить ошибку, а это оказалась просто тупость флэша, бред в который раз

Kikasso 19.10.2006 19:45

Наверное, вручную кинутые на сцену кнопки не успевают проининициироваться.
Предлагаю компромисс, так сказать полупрограммный метод.
Расставляешь вручную на сцене невидимые крестики, куда должна кнопка встать, и пускай каждый крестик onLoad кнопку к себе приаттачит. Все заработает, а потом на досуге ковыряйся в коде.
*****************************
УПС! Извините, не дочитал.


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

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