2012-11-09 6 views
3

프로그래밍이 처음입니다! AS3에 신경 쓰지 마시고 MovieClip 배열에 특정 횟수의 클릭을 설정하려고 할 때 문제가 발생합니다. 이것은 올바르게 들리지 않을 수도 있으므로 제가하려고하는 것을 정확히 알려 드리겠습니다.AS3 - 마우스 클릭 수 제한

현재 전함 유형 게임을 만들고 플레이어 격자와 컴퓨터/인공 지능 격자에 대한 격자 타일 배열을 설정하려고합니다. 플레이어 격자에서 격자 타일 중 하나를 클릭하면 다른 그래픽 (배를 나타내는 다른 타일)을 표시하도록 MovieClip 프레임을 변경합니다. 이 모든 것은 정상적으로 작동하지만 플레이어를 15 번만 클릭 할 수 있도록 제한하려고합니다. 그러나 이제는 플레이어가 원하는만큼 여러 번 클릭 할 수 있습니다.

도움이 될만한 정보가 있으면 도움이 될 것입니다. 여기

는 내가 지금까지 무엇을 가지고 :

var i:int = 0; 
    var playerTileArray:Array = new Array(); 
    var compTileArray:Array = new Array(); 

    for (var v:uint = 0; v < 20;v++){             
     for (var h:uint = 0; h < 20;h++){            

     playerTileArray[i] = new gridTile(); //gridTile is a MovieClip symbol in my Library.          
     playerTileArray[i].x = h*20;            
     playerTileArray[i].y = v*20 + 50;           
     playerTileArray[i].addEventListener(MouseEvent.CLICK, playerClick);    
     this.addChild(playerTileArray[i]);           

      trace ("creating player vertical tile " + v);        
     trace ("creating player horizontal tile " + h);         

     compTileArray[i] = new gridTile(); //gridTile is a MovieClip symbol in my Library.        
     compTileArray[i].x = playerTileArray[i].x + 600;       
     compTileArray[i].y = playerTileArray[i].y;             
     this.addChild(compTileArray[i]);           

     trace ("creating computer vertical tile " + v);         
     trace ("creating computer horizontal tile " + h);       

     i++;                  
     } 
    } 


     function playerClick(e:MouseEvent):void{ 
      e.currentTarget.gotoAndStop(2); 
      trace("placed ship on player grid at: " + playerTileArray.indexOf(e.currentTarget)); 
    } 

답변

1
var clickCount:int = 0; 

    function playerClick(e:MouseEvent):void{ 
    if(clickCount >= 15){ 
     return; 
    } 
    ++clickCount 
    e.currentTarget.gotoAndStop(2); 
    trace("placed ship on player grid at: " + playerTileArray.indexOf(e.currentTarget)); 
} 
+0

딱! 빠른 응답을 주셔서 너무 고마워요, 이것은 몇 시간 동안 내 두뇌를 쌓아 왔습니다 :) 그것은 모두 매우 간단 해 보이고 이제는 의미가 있습니다. – Danny