AS3 - Кадър вътре във филмов клип вътре във филмов клип?

това може да няма много смисъл, но ето го. Имам филмов клип (Player) и вътре в него имам няколко рамки, които съдържат филмови клипове. Вътре в тях има анимационна последователност. Искам да играя определени на действия в AS3. Значи е така. Рамка > Плейър(MovieClip) > Кадър...Кадър > playerDownBlock(MovieClip) > Кадър...Кадър. Искам да пусна последните кадри във финалните филмови клипове, ако мога. Възможно ли е това?

Ето моята настройка.

Оформление/Път на филмови клипове

Img1

Img3

Img4

Опитах се да го направя с помощта на този ред.

Player.playerDownBlock.gotoAndPlay("playerDownBlock");
// Or
Player.gotoAndPlay("playerDownBlock");

Нищо от тези не работи и не знам дали изобщо мога да го направя. Всяка помощ би била фантастична!


person Kyle93    schedule 10.01.2014    source източник
comment
Къде се намира вашият Actionscript?   -  person Doppio    schedule 10.01.2014
comment
Вътрешен файл на рамка. Щракнете с десния бутон › действия върху собствената рамка   -  person Kyle93    schedule 13.01.2014


Отговори (2)


Добре, изглежда, че най-добрата практика е да го избягвате, когато е възможно. Следващият ми въпрос вероятно е свързан повече със статични методи, а не с класови методи, но е доста тясно свързан с този въпрос. Благодаря и на двамата за вашата полезна обратна връзка и ще съм благодарен, ако можете да погледнете следващия въпрос и да коментирате дали почиствам кода си по подходящ начин. (Вижте stackoverflow.com/questions /15017734/)
person DrakeTruber    schedule 13.01.2014
comment
Това би ли го спряло след веднъж изиграно? Или ще се завърти? - person Kyle93; 14.01.2014
comment
винаги когато възпроизвеждащата глава достигне този кадър и стигне до този код, тя винаги ще се възпроизвежда. Ако искате да отидете до определен кадър във филмовия клип във филмовия клип, просто напишете: mc.mc2.gotoAndPlay(framenumber); - person DrakeTruber; 14.01.2014
comment
някакви други въпроси пред вас? - person DrakeTruber; 14.01.2014
comment
Ако направих play(), бих ли могъл да добавя някакъв скрипт за действие към последния кадър, казвайки stop(); ? - person Kyle93; 14.01.2014
comment
да Всеки път, когато компилаторът достигне вашия код play(); или stop();, той винаги ще възпроизвежда или спира. Звучи като нов във Flash. Силно бих препоръчал тази книга: Learning Flash AS3. Това е чудесен начин да научите всички основи на Flash. - person DrakeTruber; 15.01.2014
comment
Добре, благодаря, вярвам, че имам идея. Ще погледна тази книга - person Kyle93; 15.01.2014
comment
Все още имам проблем с това. Когато препращам към този филмов клип, трябва ли да използвам име на екземпляр или само действителното име на филмов клип? - person Kyle93; 15.01.2014
comment
изтъкваш добра теза, Кайл. Мислете за името на филмовия клип по-скоро като името на самия филмов клип, докато името на екземпляра е за конкретен екземпляр на този филмов клип. Така че в отговора, който дадох по-горе, името на екземпляра на първия Movie Clip е mc, докато екземплярът на втория Movie Clip е mc2. - person DrakeTruber; 16.01.2014

просто. gotoAndPlay може да има номер на рамка или етикет като параметър. Използвате етикет:

Player.playerDownBlock.gotoAndPlay("playerDownBlock");

..."playerDownBlock" (просто заменете последния бит с номера на рамката):

Player.playerDownBlock.gotoAndPlay(25);  // or whatever

...или дайте на този кадър етикет във времевата линия и го използвайте вместо число.

person DigiWongaDude    schedule 11.01.2014
comment
Зададох етикет на рамка за тях, вместо да използвам числа. Това няма ли да е същият резултат? - person Kyle93; 13.01.2014
comment
Да, ще получите същия резултат. Единствената разлика е, че вие ​​наричате рамката по етикета вместо по номера на рамката - person DrakeTruber; 14.01.2014
comment
Изглежда, че сте добавили етикетите към Player, но няма етикети за movieClip playerDownBlock. Както е сега, все още трябва да използвате номера на кадри, за да насочите кадрите в playerDownBlock. Не забравяйте, че playerDownBlock е „вътре в“ Player в списъка за показване. - person DigiWongaDude; 15.01.2014
comment
Вземете третия етикет в изображението по-горе. Използването на Player.gotoAndPlay(‹label3›) ще работи точно сега. Опитай. Поставете стоп(); навсякъде, където искате да замразите времевата линия - Flash винаги се повтаря безкрайно по подразбиране. Ако не искате много спирки навсякъде, опитайте вместо това да използвате gotoAndStop(). - person DigiWongaDude; 15.01.2014