конкретное движение анимация остановки и возобновления - PullRequest
0 голосов
/ 20 марта 2012

Я новичок в разработке игр, пытаюсь создать простую игру на flash-cs5.Я создал 3 анимации движения на временной шкале.я пытаюсь остановить конкретную анимацию движения, когда клик на этот клип кликается, когда другие подростки работают, а также когда снова нажимается остановленный мувиклип, я хочу возобновить анимацию, пока другие анимации работают.

, спасибов продвинутом.

Ответы [ 2 ]

0 голосов
/ 13 января 2016

На самом деле вам не нужно 5 разных слушателей событий, или функций, или переменных;Вы могли бы просто сделать одну функцию, чтобы справиться со всем этим:

stage.addEventListener(MouseEvent.CLICK, stageClick);

function stageClick(event:MouseEvent):void {

//I prefer "if" statements

if (event.target == myMovieClip1) stuff here;
else if (event.target == myMovieClip2) stuff here;
else if (event.target == myMovieClip3) stuff here;
else if (event.target == myMovieClip4) stuff here;
else if (event.target == myMovieClip5) stuff here;

}

Я могу добавить больше деталей, если это необходимо, но этот вопрос был три года назад, так что, вероятно, нет.

0 голосов
/ 23 марта 2012

Ниже предполагается, что у вас есть каждая анимация движения в своем собственном мувиклипе. Я не знаю ни одного способа остановить одного подростка, оставляя другого играть на одном мувиклипе (или если они все на главной сцене).

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

В этом примере myMovieClip - это мувиклип, с которым мы работаем. Мы собираемся оставить остальные фрагменты фильма в покое, так как они будут продолжать играть самостоятельно. Я также предполагаю, что myMovieClip воспроизводится по умолчанию.

Следующее в AS3. Поместите его на панель «Действия» для основной сцены (первый кадр, если у вас есть несколько кадров.)

Также убедитесь, что вы назвали свой MovieClip. Для этого щелкните MovieClip на сцене в режиме конструктора, а затем нажмите «Свойства». Там должно быть поле для ввода текста в сторону поля. Напишите имя, которое вы хотите для своего мувиклипа.

//Declare a boolean variable that determines whether or not the movieclip timeline is playing.
var ClipPlaying:Boolean = true;

//Add the mouse click event listener to the movie clip.
myMovieClip.addEventListener(MouseEvent.CLICK, StopOrStartClip);

//Declare the function for the above event listener.
function StopOrStartClip(evt:MouseEvent):void
{
    //Switch statements are my personal favorites...they're more streamlined than if statements.
    switch(ClipPlaying)
    {
        //If the clip is playing it, we stop it and set ClipPlaying to false.
        case true:
            myMovieClip.stop();
            ClipPlaying = false;
        break;
        //If the clip is not playing, we start it and set ClipPlaying to true.
        case false:
            myMovieClip.play();
            ClipPlaying = true;
        break;
    }
}

Наиболее важные функции, которые следует запомнить:

myMovieClip.stop();

Это замораживает вашу анимацию в ее текущем положении.

myMovieClip.play();

Возобновляет воспроизведение анимации с текущей позиции.

Когда вы используете любой из них, не забудьте заменить «myMovieClip» на название вашего клипа!

Между прочим, я немного рекомендую книгу Университет игрового программирования ActionScript 3.0 , чтобы научиться создавать Flash-игры.

...