0
나는 플래시 메모리 게임을 만들고 아이디어는 2 개의 동등한 카드를 발견합니다. "다시 시도"버튼을 눌러 모든 카드를 제거하고 새 카드를 생성해야합니다. 나는액션 스크립트. 다시 시도 버튼을 사용하여 모든 객체 제거
function removeCards(e:MouseEvent):void
{
//for(var iv:Number = 0; iv < 18; iv++)
{
addEventListener(Event.ENTER_FRAME, remCards);
//}
}
function remCards(evt:Event):void
{
if (contains(_card)) {
removeChild(evt.currentTarget._card);
}
}
그러나 그것은 단지 마지막 카드를 제거합니다
여기public function MemoryGame()
{
tryAgain.addEventListener(MouseEvent.CLICK, darKarta);
timer = new Timer(1000); //create a new timer that ticks every second.
timer.addEventListener(TimerEvent.TIMER, tick, false, 0, true); //listen for the timer tick
txtTime = new TextField();
addChild(txtTime);
tmpTime = timer.currentCount;
timer.start();
_cards = new Array();
_totalMatches = 18;
_currentMatches = 0;
createCards();
}
이 createCards 기능입니다 : 여기
주요 게임 기능 여기private function createCards():void
{
_cardX = 45;
_cardY = 10;
for(var i:Number = 0; i < 2; i++)
{
_card = new Card();
addChild(_card);
_boarder = new Boarder();
_card.setType(_boarder);
_card.x = _cardX;
_card.y = _cardY;
_cardX += _card.width + 5;
_card.addEventListener(MouseEvent.CLICK, checkCards);
_cards.push(_card);
}
for(var j:Number = 0; j < 2; j++)
{
_card = new Card();
addChild(_card);
_blueBoard = new BlueBoard();
_card.setType(_blueBoard);
_card.x = _cardX;
_card.y = _cardY;
_cardX += _card.width + 5;
_card.addEventListener(MouseEvent.CLICK, checkCards);
_cards.push(_card);
}
for(var r:Number = 0; r < 2; r++)
{
_card = new Card();
addChild(_card);
_penktas = new Penktas();
_card.setType(_penktas);
_card.x = _cardX;
_card.y = _cardY;
_cardX += _card.width + 5;
_card.addEventListener(MouseEvent.CLICK, checkCards);
_cards.push(_card);
}
그리고 removeCard 기능입니다 그들 모두를 삭제하는 방법을 모른다. 아이디어 있니? 고맙습니다.
고맙습니다. 오류가 발생했습니다 :'TypeError : 오류 # 1009 : null 개체 참조의 속성이나 메서드에 액세스 할 수 없습니다. '무엇이 문제입니까? 나는 개인적인'var CardContainer : Card;'를 사용했다. 그것은 좋은가? –
MovieClip으로 CardContainer를 가져 와서 메인 MemoryGame 생성자 위에 선언하여 그 클래스 내의 모든 함수가 그 클래스에 액세스하여'MemoryGame()'내부의 스테이지에 추가 할 수 있도록합니다. 생성자 : private var CardContainer : MovieClip = new MovieClip(); 공공 기능 MemoryGame() { 하는 AddChild (CardContainer); 코드의' 가 // 나머지 여기 }' – yawar
만 1 개 카드를 삭제, 지금은 오류없이 작동하지만, 처음과 같은, 감사 –