2013-05-16 5 views
1

다음 문제를 만났을 때 Flashdevelop로 초급 응용 프로그램을 만들었습니다.프로그래밍 방식으로 새 프레임 만들기

은 내가 무비 클립 타입 Table.as 클래스를 만들 싶습니다 : 두 개의 프레임을 포함해야

public class Table extends MovieClip { ... } 

: 첫 번째는 붉은 사각형, 두 번째 파란색 하나 여야합니다. 따라서 사각형의 양쪽에 두 개의 스프라이트를 만들어 :

var table:Sprite = new Sprite(); 
table.graphics.beginFill(0xff0000); 
table.graphics.drawRect(this.xCoord, this.yCoord, 150, 50); 
addChild(table); 

var table2:Sprite = new Sprite(); 
table2.graphics.beginFill(0x0000ff); 
table2.graphics.drawRect(this.xCoord + 200, this.yCoord + 100, 150, 50); 
addChild(table2); 

내가 다른 프레임에 tabletable2 변수를 얻으려면 어떻게해야합니까? 그래서 대답으로 trace(totalFrames) 2받을 수 있습니까?

+2

스프라이트에는 타임 라인이 없습니다. AS3에서는 플래시 IDE 타임 라인에 추가 할 때'KeyFrames'를 추가 할 수 없다고 생각합니다. 대신 Array를 사용하여 이러한 'MovieClips'를 저장하고 프레임 인 것처럼 처리하십시오. –

+0

예, 이것이 제가 조금 두려워했던 대답이었습니다 - Adobe 만 프레임 플로우를 구현하고 Flashdevelop는 지원하지 않으며 배열과 함께 제안한 것과 같은 다른 솔루션을 찾아야합니다. 어쨌든 고마워! – MMMM

답변

1

Flash IDE 외부에서 생성되는 무비 클립 및 Sprite는 기능이 동일하거나 다소 동일합니다. Flash IDE에서 만든 MovieClip 만 여러 프레임을 가질 수 있으며 런타임에 프레임을 추가하거나 제거 할 수 없습니다. 그러나 간단한 클래스를 만들어 두 테이블을 매우 빠르게 전환 할 수 있습니다.

public class Switcher():void { 
    function showTable1():void { table1.visible = true; table2.visible = false; }; 
    function showTable2():void { table1.visible = false; table2.visible = true; }; 


} 

var switch:Switcher = new Switcher(); 
switch.showTable1(); 
+0

.alpha를 사용하는 것은 끔찍한 조언입니다. .visible 설정은 유효한 해결책이 될 것입니다. – Philippe

+0

충분합니다. 업데이트되었습니다. –

관련 문제