2013-10-15 2 views
0

Я сделал две разные анимации в Adobe flash professional cs5.5 для приложения для Android. И я хочу код, который позволяет пользователю приложения воспроизводить анимацию так часто, как они хотят, поэтому, если пользователь хочет, чтобы анимация играла 1 раз, первая анимация будет играть, если пользователь хочет ее воспроизвести 2 раза будут воспроизводиться анимация 1 и 2, если пользователь хочет, чтобы анимация 3 раза воспроизводилась, анимация 1, 2 и 1 будут воспроизведены и так далее. Может кто-нибудь помочь мне с этой проблемой и сказать мне, возможно ли это в jquery.анимация сделана в adobe flash professional

ответ

0

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

На странице меню или где когда-либо у вас есть код, сколько раз код должен выполняться, определите переменную и назовите ее чем-то вроде «runTimes», который должен стать количеством раз, которое должна выполняться анимацией.

В конце анимации сделайте простую инструкцию if, чтобы проверить значение «runTimes», а затем уменьшите его. В зависимости от значения, он должен использовать gotoAndPlay/gotoAndStop.

Таким образом, поставить это на ключевой кадр после первой анимации:

if (runTimes > 0) { 
    runTimes--; 
    gotoAndPlay(<FIRST FRAME OF SECOND ANIMATION>); 
} else { 
    gotoAndStop(<FRAME OF MAIN MENU>); 
} 

и это после того, как второй анимации:

if (runTimes > 0) { 
    runTimes--; 
    gotoAndPlay(<FIRST FRAME OF FIRST ANIMATION>); 
} else { 
    gotoAndStop(<FRAME OF MAIN MENU>); 
} 

На MainMenu кадре, давайте предположим, что у вас есть текстовое поле с именем " numTimes_txt "для количества раз для воспроизведения и кнопки" playAnimations_btn "для запуска анимации.

import flash.events.MouseEvent; 

var runTimes:int = 0; 

playAnimations_btn.addEventListener(MouseEvent.CLICK, playAnims); 

function playAnims(e:MouseEvent):void { 
    runTimes = parseInt(numTimes_txt.text); 
    play(); // or gotoAndPlay(<FIRST FRAME OF FIRST ANIMATION>); 
} 

Я не проверял это, как я не мой IDE на меня прямо сейчас, но это должно работать, если я понимаю вопрос правильно.

+0

спасибо за то, что вы вернули код, но он не работает в порядке, если первая часть заканчивается в кадре 14, поэтому, если я заполню «1» в texbox, анимация должна остановиться в кадре 14 вправо? Какие числа я должен заполнить этим кодом, если (runTimes> 0) { runTimes--; gotoAndPlay (<ПЕРВАЯ ЧАСТЬ ВТОРОЙ АНИМАЦИИ>); } else { gotoAndStop (<РАМКА ГЛАВНОГО МЕНЮ>); } и где я могу поместить код, потому что для меня это непонятно, но большое спасибо за то, что привезли меня до сих пор. – user2852398

+0

Итак, вы не хотите, чтобы он возвращался в главное меню после этого? Если это так, замените 'gotoAndStop (); 'просто с' stop(); '. Вы хотите поместить код на ключевой кадр ** после ** ** последнего ** кадра анимации. (Убедитесь, что это ключевой кадр). (Также: если вы остановились на этом фрейме, вам нужно будет скопировать содержимое, чтобы оно выглядело одинаково). [Пример] (http://i41.tinypic.com/n645y8.jpg) –

+0

человек это сложнее, чем я думал .. ха-ха, я не понимаю, поэтому я объясняю это: всего у меня 48 кадров, frist часть заканчивается на кадре 12, а вторая на 35, рамки за 35 - это цикл анимации более одного раза, поэтому, если вы заполняете «3», она играет часть 1,2 и заканчивается в третий раз, поэтому ... ты понял?? Я знаю, что это трудно понять, не используя никаких моральных коммуникаций, но я уже очень рад, что вы мне очень помогли за это. – user2852398

Смежные вопросы