AS3을 사용할 준비가되었다고 했으므로 여기에 해결책이 있습니다.
기본 타임 라인/스테이지에 배치 한 거미 애니메이션이 포함 된 별도의 무비 클립이 있다고 가정합니다.
1. MovieClip을 스테이지에 놓고 인스턴스 이름을 'spiders'로 지정합니다. 이 영화 클립은, 첫 번째 프레임이 코드를 삽입
2.inside는
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 (그것은 애니메이션 revesing 처리한다).(첫 번째 프레임에서) 기본 타임 라인에이 코드를 넣어 :
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의 종류입니다 어떤 시점에서 제대로 빌드하기로 결정했다면이 코드를 별도의 클래스로 '다시 작성'하는 것이 매우 쉽습니다.
액션 스크립트 2는 오래된 것입니다. 액션 스크립트 3을 사용하고 싶지 않으십니까? – evilpenguin
Flex는 ActionScript 3에서 제작되었으며 버전 2부터 사용 되었기 때문에 Adobe Flex Tag를 제거했습니다. ActionScript 2 버전의 Flex는 상당한 비용이 드는 서버 측 제품이었습니다 (CPU 당 $ 10K 이상). 또한; Flash Pro 내부에서 Flex를 사용하는 것은 매우 어렵습니다. 당신이 초심자 인 경우에 다만 배우기; 왜 ActionScript 2를 사용 했습니까? 6 년 전 모든 의도와 목적으로 무용지물이되었습니다. – JeffryHouser
좋아요, 제가 왜 액션 스크립트 2를 사용했는지 물어 보았습니다. 액션 스크립트 3을 사용하여이를 수행하는 방법을 배우고 싶지만 액션 스크립트 3에서 어떻게 할 수 있습니까? –