AS3 스 크 립 트 가 작성 한 타이머 효과 코드
public function ShowTimer(){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
initMc();
}
AS3 에 문자열 대신 상수 가 많이 추가 되 었 습 니 다.이것 은 우리 에 게 매우 큰 편 의 를 가 져 다 주 었 다.예 를 들 어 영화 의 크기 조정 모드 를 고정 사이즈 로 제한 하려 면 AS2 의 코드 는
Stage.scaleMode = "noScale";
값 은 문자열 입 니 다.입력 할 때 코드 알림 이 없어 서 오류 가 발생 하기 쉽 습 니 다.(도움말 문서 에 문자열 을 복사 하 는 경우 가 많 습 니 다.)AS3 에 있 는 코드 는:
stage.scaleMode = StageScaleMode.NO_SCALE;
원래 문자열 “noScale” 상수 StageScaleMode.NO_SCALE 대신이렇게 하면 코드 알림 을 사용 하여 자동 으로 완성 할 수 있 으 며,잘못 져 서 생 긴 프로그램 bug 를 효과적으로 피 할 수 있 습 니 다.(또한 매우 편리 합 니 다. )。같은 문자열 상수 와 같은 이벤트 형식 도 있 습 니 다. MouseEvent.CLICK 대신 잠깐 만.
private function initMc():void{
showTxt = new TextField();
addShow(showTxt,10,10,310,20);
addLabel(setDelayLabel,10,40,"delay:");
//...other code
}
텍스트 상자 와 단 추 를 추가 합 니 다.다시 인용 해 야 할 텍스트 상 자 는 명시 적 으로 초기 화 되 어야 합 니 다.그렇지 않 으 면 다른 곳 에서 이 변 수 를 참조 하면 되 돌아 갑 니 다. null 。
private function addLabel(txt:TextField,x:uint,y:uint,text:String):void{
txt = new TextField();
txt.x = x;
txt.y = y;
txt.text = text;
addChild(txt);
}
AS3 의 모든 것 은 new 나 왔 어.단지 new 나 와 도 안 돼,써 야 돼. addChild() 디 스 플레이 목록 에 추가 합 니 다.
private function addBtn(mc:Sprite,...,clickHanlder:Function):void{
mc.mouseChildren = false;
mc.graphics.beginFill(0x000000,0.3);
mc.graphics.drawRect(0,0,w,h);
mc.buttonMode = true;
mc.addEventListener(MouseEvent.CLICK,clickHanlder);
addChild(mc);
//
txt = new TextField();
txt.name = "btnText";
mc.addChild(txt);
}
AS3 에서 갖 고 싶 어 요. mc 단추 가 되 려 면 설정 해 야 합 니 다:
mc.buttonMode = true;
이때 마우스 가 mc 를 지나 가 는 것 을 보 았 을 때 손 모양 이 되 지 않 았 습 니 다.그 이 유 는 마지막 줄 에 있 습 니 다. txt 추가 mc 마우스 이벤트 의 대상 은 원 하 는 mc 가 아 닌 txt 로 단추 문 자 를 표시 합 니 다.이 문 제 를 해결 하기 위해 서 는 한 마디 를 더 해 야 한다.
mc.mouseChildren = false;
mc 를 마우스 이벤트 의 대상 으로 합 니 다(target objects)。 AS3 의 모든 보 이 는 대상 은 DisplayObject 의 하위 클래스 이 고,DisplayObject 는 EventDispatcher 의 하위 클래스 입 니 다.
Sprite → DisplayObjectContainer → InteractiveObject → DisplayObject → EventDispatcher → Object
즉,모든 보 이 는 대상 이 직접 addEventListener 를 사용 할 수 있다 는 것 이다.
mc.addEventListener(MouseEvent.CLICK,clickHanlder);
여기 상수 로. MouseEvent.CLICK 이벤트 형식 대신 “click” 。이런 상량 은 이후 에 더 이상 군말 하지 않 겠 다.
mc.graphics.beginFill(0x000000,0.3);
mc.graphics.drawRect(0,0,w,h);
AS3 의 모든 그림 그리 기 방법 이 다 놓 여 있 습 니 다. Graphics 안.Sprite 의 graphics 속성 은 Graphics 입 니 다.기본 적 beginFill ,beginBitmapFill 따위 drawCircle 、drawEllipse、drawRect 방법 을 기다 리 면 다 시 는 끝 없 이 moveTo 、lineTo 됐어.
public function startTimer(event:MouseEvent):void{
//...code here
}
다음은 주요 내용 입 니 다:Timer.
var delay:uint = setDelayTxt.text;
var repeatCount:uint = setRepeatCountTxt.text;
if(timer == null){
timer = new Timer(delay,repeatCount);
}
uint 는 AS3 에 추 가 된 데이터 형식 으로 32 비트 의 정수(int)를 표시 합 니 다. 부호 가 있 는 정수 32 자 를 나타 낸다.Timer 의 구조 함 수 는 두 개의 매개 변 수 를 받 아들 입 니 다.delay. 예. “timer” 이벤트 지연 밀리초,repeat Count 순환 횟수 입 니 다.기본 값 은 0 입 니 다.즉,계속 순환 합 니 다. stop 혹은 reset 。
timer.addEventListener(TimerEvent.TIMER,timerHandler);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,timerCompleteHandler);
timer 방송 두 이벤트,간격 delay 지정 한 밀리초 방송 1 회 “timer” 이벤트,반복 반복 Count 회 후 방송 “timerComplete” 사건
timer.start();
startBtn.getChildByName("btnText").text = " stop ";
timer ...에 있다 start 이후 실행 시작,이때 running 속성 true 。손잡이 startBtn 으로 설정 “stop",주의 AS3 는 startBtn 의 child 를 가 져 올 수 없습니다.왜냐하면 Sprite 동적 클래스 가 아니 라 child 를 설명 할 수 없습니다.이때 startBtn 에 있 는 텍스트 상 자 를 가 져 오 려 면 사용 해 야 합 니 다. getChildByName 방법당연히 child 에 게 name 을 먼저 주어 야 합 니 다.
//function addBtn
txt.name = "btnText";
마지막 stop 화해시키다 reset reset ...에 있다 stop 다음 currentCount 속성 설정 0 。통과 가능 마지막 으로 컴 파일 된 swf 체득 해 봐.fla 파일 다운로드
플래시 애니메이션
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS3 스 크 립 트 가 작성 한 타이머 효과 코드AS3 에 문자열 대신 상수 가 많이 추가 되 었 습 니 다.이것 은 우리 에 게 매우 큰 편 의 를 가 져 다 주 었 다.예 를 들 어 영화 의 크기 조정 모드 를 고정 사이즈 로 제한 하려 면 AS2 의 코드 는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.