在as3 adobe animate中使用一个孩子

时间:2017-01-25 10:04:56

标签: actionscript-3

我制作纸牌游戏,然后随机从图书馆拨打一些卡片。 但我不能使用这张卡。 有没有办法让这个孩子可点击? 还有一个问题。 如果有机会为我需要在舞台上显示的所有22张卡使用一个打印阵列?或者我必须为每张卡创建一个新的printarray和一个新的随机数? 注意:每张卡都有不同的点。

var cards:Array = [k1, p1, s1, r1, r3,k4,p4,s4,r4,k5,p5,s5,r5
 ,k6,p6,s6,r6,k7,p7,s7,r7,k8,p8,s8,r8,k9,p9,s9,r9,k10,p10,s10,r10,
 kj,pj,sj,rj,kq,pq,sq,rq,kk,pk,sk,rk];

var printArray:Array = [];

for (var n:int = 1; n <= 1; n++)
{
    var randNo:int = int(Math.random() * 51);
    printArray.push(randNo);
}

for (var c:int = 0; c < printArray.length; c++)
{
    trace(printArray[c]);
    var mc:MovieClip = new cards[printArray[c]  ];
    addChild(mc);
    mc.width = 60;
    mc.height = 80;
    mc.x = 100;
    mc.y = 50;
}


var print1Array:Array = [];

for (var n1:int = 1; n1 <= 1; n1++)
{
   var rand1No:int = int(Math.random() * 51);
   print1Array.push(rand1No);
}

for (var c1:int = 0; c1 < print1Array.length; c1++)
{
    trace(print1Array[c1]);
    var mc1:MovieClip = new cards[print1Array[c1]  ];
    addChild(mc1);
    mc1.width = 60;
    mc1.height = 80;
    mc1.x = 70;
    mc1.y = 80;
}

stage.addEventListener(Event.ENTER_FRAME,looping);
function looping(event:Event):void
{
    //here ia want use the cards.Let say i want to if(mc1 is clicked)
}

1 个答案:

答案 0 :(得分:0)

mc1.addEventListener(MouseEvent.CLICK, clickCard); 

把它放在你拥有其他mc1的地方。然后在其他地方,除了任何其他功能之外:

private function clickCard(e:MouseEvent):void{ 
    //trace(e.target);
}