무비 클립 버튼이있는 다양한 무비 클립을 사용합니다. 모든 MC는 코드를 통해 삽입되며 무대에 아무것도 없습니다. 버튼의 eventListener가 trigered 될 때마다 다음 줄을 다음 movieClip에 추가 한 다음 이전에 사용한 MovieClip에 대한 참조를 제거하려고합니다.플래시 as3 영화 클립 참조를 다시 시작하는 방법은 무엇입니까?
더 구체적으로 나는 퍼즐 게임을 작성하고 게임에 들어갈 때마다 조각 중 하나를 움직여서 MovieClip 뒤로 버튼을 누른다. 다음 번에 같은 게임에 입장한다. movieClip을 원래 위치로 다시 시작하겠습니다. 여기서 내가 뭘 잘못하고 있니? vars에 신경 쓰지 마시고 요점은 각 기능을 다시 클릭 할 때 게임을 시작했을 때의 참조를 다시 시작하는 방법입니다. 덕분에 .
public function start1()
{
//start screen
addChild(first1);
first1.start(button name).addEventListener(MouseEvent.CLICK, start);
}
public function back1(even:MouseEvent)
{
removeChildAt(numChildren - 1); //want to remove who ever called back1
start1();
}
public function start(even:MouseEvent)
{
/choosing num of pieces
removeChildAt(numChildren - 1); //want to remove first1
addChild(level);
level.back.addEventListener(MouseEvent.CLICK, back1);
level.sixpieces.addEventListener(MouseEvent.CLICK, sixLevel);
}
//level choosing
public function sixLevel(even:MouseEvent)
{
removeChildAt(numChildren - 1); //want to remove level
addChild(clevel);
clevel.back.addEventListener(MouseEvent.CLICK, back1);
clevel.easy.addEventListener(MouseEvent.CLICK, function(){Slevel=1;six(even);});
clevel.med.addEventListener(MouseEvent.CLICK, function(){Slevel=2;six(even);});
clevel.hard.addEventListener(MouseEvent.CLICK, function(){Slevel=3;six(even);});
}
//game itself
public function six(even:MouseEvent)
{
num=6;
row1=0;
row2=1;
row3=2;
row4=3;
removeChildAt(numChildren - 1);
addChild(full1);
if(Slevel==1)
{
full1.time1.visible=false;
full1.full.visible=true;
full1.frame1.visible=false;
}
else
if(Slevel==2)
{
full1.full.visible=false;
myTimer = new Timer(1000,60);
}
else
if(Slevel==3)
{
full1.full.visible=false;
myTimer = new Timer(1000,30);
}
if(Slevel!=1)
{
Slevel=4;
}
full1.back.addEventListener(MouseEvent.CLICK, back1);
for(a=0;a<6;a++)
{
this.locarrs[3][a].addEventListener(MouseEvent.MOUSE_DOWN, Move);
this.locarrs[3][a].addEventListener(MouseEvent.MOUSE_UP, stopMove);
}
}
감사합니다. 어떻게 movieClip을 파괴합니까? 원래 위치와 같은 모든 초기 데이터를 삭제하지 않을까요? 포지션을 저장하는 것은 6 가지 부분의 퍼즐이있을 때 좋지만 100을하면 혼란에 빠지기 시작합니다. 나는 어떤 양의 조각도 커버 할 수있는 일반적인 솔루션을 찾고있다. – yishai
예, 개체의 위치를 정리합니다. 다시 사용하려면 사전을 만들 수 있습니다. mc는 키이고 객체는 다음과 같이 콘텐츠의 위치를 지정합니다. myDictionary [myMC] = {x : initXPos, y : initYPos}; 덕분에 – Drala
. 어쨌든 각 조각 위치를 적어 두지 않고 원래의 mc 데이터를 복원 할 수 있습니까? 이 특정 mc에는 7 개의 children-6 퍼즐 조각이 포함되어 있으며 전체 그림은 각각 인스턴스 이름과 같습니다.이 경우에는 각 조각 위치를 적어두기가 쉽지만 한 번 많은 위치에 조각을 작성하면됩니다. 문제가된다. 다시 버튼을 누르면 위치의 배열을 사용하지 않고 조각 원래 위치를 복원하려고합니다 – yishai