AS3 - Ограничение количества щелчков мышью

Я новичок в программировании! Не обращайте внимания на AS3 и проблемы при попытке установить определенное количество кликов на массив MovieClips. Это может показаться неправильным, поэтому я дам вам знать, что именно я пытаюсь сделать.

В настоящее время я пытаюсь создать игру типа «Морской бой», и у меня есть настройки и плитки массива сетки как для сетки игроков, так и для сетки компьютера / ИИ. Когда я нажимаю на одну из плиток сетки в сетке игроков, я меняю рамку 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));
     }

person Danny    schedule 09.11.2012    source источник


Ответы (1)


person    schedule
comment
Идеально! Большое спасибо за быстрый ответ, это уже несколько часов ломает мне голову :) Все выглядит так просто и теперь имеет смысл - person Danny; 09.11.2012