Actionscript 3 AS3-限制鼠标单击次数
我是编程新手!不要介意AS3,在尝试设置一组电影唇的特定点击次数时会出现问题。这听起来可能不正确,所以我会让你确切地知道我想做什么 我目前正在尝试创建一个战列舰类型的游戏,并为玩家网格和计算机/人工智能网格设置和阵列网格瓷砖。当我点击玩家网格中的一个网格图块时,我正在更改MovieClip框架以显示不同的图形(代表船的不同图块)。这一切都很好,但我想限制玩家只能点击15次,但现在玩家可以点击任意次数 任何帮助和指导都将不胜感激(正如我所说,我对这一切都是新手) 以下是我到目前为止的情况:Actionscript 3 AS3-限制鼠标单击次数,actionscript-3,mouseevent,dynamic-arrays,Actionscript 3,Mouseevent,Dynamic Arrays,我是编程新手!不要介意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));
}
var i:int=0;
var playrtilearray:Array=新数组();
var comptileray:Array=new Array();
对于(var v:uint=0;v<20;v++){
对于(var h:uint=0;h<20;h++){
playerLearRay[i]=new gridTile();//gridTile是我的库中的MovieClip符号。
playerTileArray[i].x=h*20;
playerTileArray[i].y=v*20+50;
PlayerLearRay[i].addEventListener(MouseEvent.CLICK,playerClick);
这个.addChild(playertialray[i]);
跟踪(“创建玩家垂直平铺”+v);
跟踪(“创建玩家水平平铺”+h);
comptilerray[i]=new gridTile();//gridTile是我的库中的MovieClip符号。
comptileray[i].x=player-learray[i].x+600;
comptileraray[i].y=playerTilerarray[i].y;
这个.addChild(comptileray[i]);
跟踪(“创建计算机垂直分幅”+v);
跟踪(“创建计算机水平平铺”+h);
i++;
}
}
函数播放器点击(e:MouseeEvent):无效{
e、 currentTarget.gotoAndStop(2);
跟踪(“将飞船放置在玩家网格上:”+playerTileArray.indexOf(e.currentTarget));
}
完美!非常感谢您的快速响应,这让我绞尽脑汁好几个小时了:)一切看起来都很简单,现在都有意义了
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));
}