PDA

Просмотр полной версии : attachMovie и setProperty


Fanatik
09.02.2003, 10:38
Здравствуйте! У меня такая проблема:
Имеется мувик ("level_part_1", "level_part_2" и "level_part_3"). в них по два кадра.
1-й кадр:
рисунок и код:

if (key.isDown(39)) {
_x = -2
}

2-й:
просто рисунок.
т.е. когда я нажимаю rightArrow, то мувики двигаются влево.

в _root'e у меня только "level_part_1".
мне нужно, чтобы когда level_part_1._x <= 0 появлялся другой мувик ("level_part_2"), и так же, когда
level_part_2._x <= 0 появлялся "level_part_3".
Я пишу в _root'e:

if (level_part_1._x<=0) {
attachMovie ("level_part_2", "level_part_2, 2)
setProperty ("level_part_2", _x, 300)
}
if (level_part_2._x<=0) {
attachMovie ("level_part_3", "level_part_3, 3)
setProperty ("level_part_3", _x, 300)
}

но появляются все сразу, не дожидаясь движения...

я так понимаю, что setProperty срабатывает поздно, и мувик аттачится на _x=0 _y=0. может быть написать другой скрипт? :confused:

и еще: как сделать, чтобы мувик удалялся (removeMovieClip я пользоваться не умею :rolleyes: )

заранее спасибо.

sergwizard
09.02.2003, 21:13
Код можно было бы – конечно – написать и поизящней. Но так тебе будет более понятно.
Ты правильно понимаешь, что "что setProperty срабатывает поздно, и мувик аттачится на _x=0 _y=0. "

Fanatik
10.02.2003, 11:19
уфф, спасибо конечно, что потрудился, но я работаю с flash 5 :( . у меня есть MX, но такой код не идет на пятом, а на MX я работать не умею... но все-равно, спасибо ;)

Fanatik
13.02.2003, 18:50
ндааа... я так понял, что все только на MX ? :(
может быть кто поможет с 5-м разобраться? аааа???? :D

Geniot
13.02.2003, 20:33
Я понимаю если бы у тебя не было FlashMX, но ведь он у тебя есть. А говорить "В МХ я работать не умею", так выходит, что и в 5 не очень, если такие простые вещи не можешь сделать. Там, ведь, всё просто, в рутном фрейме:
[CODE]
_root.onLoad = function(){
this.attachMovie("clip1","clip1",++depth);
clip1._x = 300;
clip1._y =200;
}
_root.onEnterFrame = function(){
if(clip1._x<=-1){
removeMovieClip("clip1");
attachMovie("clip2","clip2",++depth);
clip2._x = 300;
clip2._y =200;
}
if(clip2._x<=-2){
removeMovieClip("clip2");
attachMovie("clip3","clip3",++depth);
clip3._x = 300;
clip3._y =200;
}
}
CODE]
Раньше к руту такие хэндлеры нельзя было цеплять, только к мувикам, а теперь можно - пользуйся сколько хочешь.
Здесь тебе и аттач и римув и линкидж, не пора ли приобщаться к современным технологиям?

Fanatik
14.02.2003, 08:17
всегда пора :D , только я все начинал методом тыка, с Flash 4 (тогда это было еще новинка). надо было конечно начинать с 1-го или 2-го, но так уж получилось... ведь первое представление о flash - это фишка которая делает мультики, в которой есть только команды play () stop () и gotoAndPlay...

ЗЫ: пасиба :p