Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > классы и символы


Автор: BegemotX2 25.11.2005, 14:19
Вопрос 1
Что я сделал неправильно? (sample.zip)
Если важно, то у меня flash 8 pro.
Если лень качать, то там все так:

Есть symbol (movieclip) 'MyObj'. В нем TextField 'myText'.
В 1-м кадре символа написано

Код

this.setText = function( newText ){
    myText.text = newText;
}

Linkage символа:
Export for ActionScript = true
Export in 1-st frame = true
id = 'myObj_mc'


На сцене объект obj1 : MyObj;
В первом кадре сцены:

Код

this.onEnterFrame = function(){
    obj1.setText("obj1-newText");          //OK
    
    _root.attachMovie("myObj_mc", "obj2", 1 ); //OK
    obj2._y = 50;                  //OK

    obj2.setText("obj2-newText" );                     // Не работает

    this.onEnterFrame = null;
}
Кстати, если не помещать код в onEnterFrame, то и obj1.setText не работает тоже.
Может вообще подход неправильный, и к символам нельзя относиться как к классам,
которые еще и рисуются?
Единственный похожий пример во flash (XMLMenu) сделал бы так (в переносе на мой пример):


Код

var mc:MovieClip = _root.attachMovie("myObj_mc", <NAME>, <DEPTH> );
mc.setText = function( newText ){
    mc.myText.text = newText;
}


Если так правильнее, то как поступать если в MyObj тоже есть какие нибуди символы с кодом.



Вопрос 2можно ли сделать чтобы сцена занимала все пространство (по оси X) на странице (но не масштаб меняла, а я ей элементы перемещал)?

Вопрос 3 Можно ли заменить флэшевский handCursor на такую же как в броузерах?

Автор: AlDev 26.11.2005, 05:15
а причём тут классы?

смотри аттач как сделать (вопрос 1 и 2)

кстати, есть ещё несколько вариантов реализации.
1. использовать такое свойство textField, как variable.
2. Object.addProperty
3. get/set + class
4. createTextField
...

Цитата(BegemotX2 @ 25.11.2005, 19:19)
Вопрос 3 Можно ли заменить флэшевский handCursor на такую же как в броузерах?

если нарисуешь такой-же, как в броузерах. а потом просто пишешь Mouse.hide() и двигаешь своего заменителя onMouseMove.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)