PDA

Просмотр полной версии : на что заменили attachMovie


artcraft
06.07.2006, 01:04
бился над этим пару часов :~)
решил написать как, для таких тупых как я

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

cразу нашёл что attachMovie заменили на addChild, но заклинило и получилось у меня не сразу :drinks:

1) cоздать мувик (квадратик например) и прописать ему линкаж:
в диалоге поле indentifer больше не активно,
зато поле класс оствлять пустым нельзя

http://www.adobe.com/devnet/flash/articles/flash9_as3_preview/fig02.gif

2) если класс не создать он генериться автоматически

http://www.adobe.com/devnet/flash/articles/flash9_as3_preview/fig03.gif

3) код в первый кадр: просто до не могу
var mc:MovieClip = new Symbol1();
addChild(mc);

Nirth
06.07.2006, 02:16
у меня работает
Посмотри этот исходник http://lab.orangeflash.eu/flash9/examples/migrationAndFeatures/MigFitExamples.fla

убери все со сцены ( если что то есть)отрокй библиотеку, из папки Old перенеси attachMovie на сцену

Nirth
06.07.2006, 02:17
это что не вопрос?

artcraft
06.07.2006, 03:07
нет - это ответ

Nirth
06.07.2006, 03:15
=)
Кстати посмотри исходник=) и скажи че еще считаешь нужным добавить=)

PS можешь сам добавить.

DRAGOnoid
13.05.2007, 11:44
Спасибо за статью =) но попробую её чуть дополнить для таких же ламеров как я =_=

В вышеуказанном примере всё работает хорошо.. однако писать код в кадрах уже считается плохим тоном.. и правильнее теперь создать отдельный файл (пакета классов чтоли с главным классом Х_Х) например test.as
внутри которого поидее должен писать

package {
import flash.display.MovieClip;
//import flash.display.Sprite;
public class test extends MovieClip {
public function test() {
var mc:MovieClip = new Symbol1();
addChild(mc);
}
}
}

далее в нашем исходнике *.FLA удаляем всё что было в кадре (коды мувы и т.д.)
в окне свойств пишем имя нашего основного класса (в реале имя файла *.as которе потом подцепится нашей флехой)
img_2.jpg

а Linkage каким был таким и оставляем
img_1.jpg

etc
13.05.2007, 12:57
На будущее: имена классов должны начинаться с прописной буквы.

DRAGOnoid
13.05.2007, 13:48
На будущее: имена классов должны начинаться с прописной буквы.

странно, а мне говорили наоборот. Спасибо что сказал :drinks:

etc
13.05.2007, 13:54
Больше не слушай того, кто говорил.

DRAGOnoid
13.05.2007, 13:57
кстати заметил такую вещь, если убрать галочку "Export in first Frame" во вкладке linkage то выдаёт ошибку "1180: Call to a possibly undefined method symbol1." - по сути тут всё логично (мы не можем атачить класс-мувклип не забив его в первый кадр) но тогда как решать такую проблему?
и ещё если мне ненадо экспортировать MovieClip а только Sprite (ну просто например рисунок атачить - зачем ему наследовать мега класс MoveClip) то как тут поступить?
Заменить тупо везде MovieClip на Sprite у меня не вышло

etc
13.05.2007, 14:00
Странно, что не вышло. Замени base class на Sprite.
Что касается Export in first frame, то там как-то все неясно с ним, очень уж…