기존 아이를 바꾸지 않고 버튼을 누를 때마다 스테이지에서 하위 (인스턴스)를 어떻게 추가 할 수 있습니까?AS3 : 기존 자식을 대체하지 않고 버튼을 누를 때마다 스테이지에서 하위 (인스턴스)를 어떻게 추가 할 수 있습니까?
4 가지 클래스가 있습니다 : Symbol1, Symbol3, Symbol4, all.
버튼 인 Symbol3을 누르면 클래스 all.as를 통해 스테이지에서 Symbol1의 인스턴스를 만들고 싶습니다. Symbol4를 사용하여 생성 된 인스턴스 중 하나를 스테이지에서 생성하는 순서대로 삭제하려고합니다. 예 : Symbol3을 세 번 눌렀으며 스테이지에 Symbol1의 인스턴스 세 개를 만들었습니다. 이제 Symbol4를 누르면 처음 만든 인스턴스가 삭제됩니다. 한 번 더 Symbol4를 누르면 두 번째로 생성 된 인스턴스가 삭제됩니다.
public class Symbol3 extends SimpleButton
{
private var creator:all;
private var child:Symbol1 = new Symbol1 ;
private var child2:Symbol1 = new Symbol1 ;
private var child3:Symbol222 = new Symbol222 ;
public function Symbol3()
{
addEventListener(MouseEvent.CLICK, onCLICK);
}
private function onCLICK(s:MouseEvent)
{
creator = new all(child);
stage.addChild(creator);
}
}
.
public class all extends MovieClip
{
private var _thief1:MovieClip;
public function all(par1:MovieClip)
{
_thief1 = par1;
addEventListener(Event.ADDED_TO_STAGE, onADDED_TO_STAGE);
}
private function onADDED_TO_STAGE(e:Event)
{
removeEventListener(Event.ADDED_TO_STAGE, onADDED_TO_STAGE);
this.addChild(_thief1);
_thief1.x = Math.random() * 200;
_thief1.y = Math.random() * 200;
}
}
.
public class Symbol4 extends SimpleButton
{
public function Symbol4()
{
addEventListener(MouseEvent.CLICK, onCLICK);
}
private function onCLICK(s:MouseEvent)
{
stage.removeChild(?);
}
}
나는 지금까지 가지고있다. 감사합니다
값 작성자를 반환 한 다음 호출하여 (stage.removeChild (작성자)) 파일을 가져 오십시오. –
'Symbol3'과'Symbol4'는 다소 모호하고 코드를 어설프게 만들기 때문에 의미있는 변수 이름을 사용하는 것이 좋습니다. 어떻게'CreateButton'에 대해? 'DeleteButton'? 'all' 또한 클래스 이름에 대한 모호한 선택입니다. – prototypical
답변 해 주셔서 감사합니다. 이것은 내가 만든 예일뿐입니다.논리에 관한 아이디어가 있다면 고맙겠습니다. 감사합니다 – irnik