2012-05-10 2 views
-1

Я делаю проект, который посвящен взаимодействию, мыши на экране. Следовательно, я хочу сделать это, используя Adobe Flash Pro и Action Script2. вот Задача: - простая анимация (например, полная пауков, идущих/прыгающих сверху вниз на экране) - как только мышь перемещается, анимация будет обратная (все анимации пауков будут возвращаться назад и прятать вернитесь в верхнюю часть экрана с того места, где пришли). - если мышь не двигается после 60 секунд, анимация будет повторяться до тех пор, пока мышь не переместится снова на экране (эти пауки будут повторяться снова).Action Script 2 Предложение

Я создал анимационный паук «Movie clip» (анимация паука снижается) 1- какой сценарий я должен написать, чтобы сделать анимацию обратным? 2- как я могу сказать, что моя мышка перемещена или она не движется, так что анимация пауков произойдет или изменится?

Кстати, я очень новичок в действии скрипта 2.0 Я ценю любое предложение и помощь * отлично подходит для меня, чтобы это сделать в скрипте действий 3 тоже Спасибо.

+7

Actionscript 2 является добрым старым. Вы уверены, что не хотите использовать ActionScript 3? – evilpenguin

+1

Я удалил тег Adobe Flex, потому что Flex был создан в ActionScript 3 и имеет версию 2. Версия Flex на ActionScript 2 является побочным продуктом на стороне сервера, стоимость которого составляет значительную сумму (> $ 10K за процессор). Также; очень сложно использовать Flex внутри Flash Pro. Если вы новичок, просто учитесь; почему бы вам с ActionSCript 2, что-то, что было сделано для всех целей и целей, было устаревшим 6 лет назад? – JeffryHouser

+0

Хорошо, потому что я работал с сценарием действий 2, почему я спросил, хотел бы научиться делать это с помощью Action Script 3, но как это сделать в Action Script 3? –

ответ

0

О, мой. AS2 :)

ОК сначала я думаю, было бы проще, если бы вы создали две разные анимации. Один для Паука, чтобы спуститься. Другой, чтобы подняться. Можно отменить MovieClip, но я думаю, что если вы начинающий, придерживайтесь основ.

Вам нужно 3 мысли здесь.

1) Spider Clips. Идти вниз и вверх. 2) Интервал (таймер в AS3)

var interval:Number = setInterval(spidersComeOut, 60 * 1000); 

3) Мышь движение слушателя

root.onMouseMove = function() 
{ 
    //swap your spider clips 
    //move the spider up again 
    //reset the interval with clearInterval(interval) and restart it again.   
} 

Это очень простой обработчик для перемещения мыши. Надеюсь, это поможет вам немного. Это не полное решение. Это не сработает.

Одна вещь в конце. Если вы новичок в AS2, я бы рекомендовал дать as3 выстрел. Сложнее начать, но есть больше людей, которые хотят помочь с проблемой AS3, а затем с as2.

0

Поскольку вы сказали, что готовы использовать AS3 здесь, это решение.

Я предполагаю, что у вас есть отдельный клип, содержащий анимацию ваших пауков, которую вы размещаете на главной временной шкале/сцене.

1. Установите свой MovieClip на сцену и укажите ему имя экземпляра «пауки».

2.inside это MovieClip, на первом кадре поставить этот код (он будет обрабатывать revesing анимацию)

import flash.events.Event; 

stop(); 

var _dir:int = 1; 

addEventListener(Event.ENTER_FRAME, onEF); 
function onEF(e:Event):void 
{ 
    getNextAnimationFrame(); 
} 

function getNextAnimationFrame():void 
{ 
    var frameNum:int = currentFrame + _dir; 
    if (frameNum < 1 || frameNum > totalFrames) 
    { 
     removeEventListener(Event.ENTER_FRAME, onEF); 
    } 
    frameNum = Math.max(1, Math.min(totalFrames,frameNum)); 

    gotoAndStop(frameNum); 
} 

function changeDirection($dir:int):void 
{ 
    _dir = $dir; 
    removeEventListener(Event.ENTER_FRAME, onEF); 
    addEventListener(Event.ENTER_FRAME, onEF); 
} 

3.на основной временной шкале (в первом кадре) поместить этот код:

import flash.utils.Timer; 
import flash.events.TimerEvent; 
import flash.events.MouseEvent; 

var timer:Timer = new Timer(60 * 1000, 1); 
timer.start(); 
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTime); 

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); 

function onTime(e:TimerEvent):void 
{ 
    trace("it's time"); 
    spiders.changeDirection(1); 
} 

function onMove(e:MouseEvent):void 
{ 
    timer.reset(); 
    timer.start(); 
    spiders.changeDirection(-1); 
} 

можно было бы обрабатывать мыши, таймер и анимации в одном коде, однако, как это построить сейчас вид OOP , если в какой-то момент вы решили построить его правильно, было бы очень просто «переписать» этот код как отдельные классы.

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