嘿,我有一些穴居人,当他们建造小屋时,我希望将小屋添加到我最后点击的穴居人的坐标上,这需要能够准确知道用户点击/敲击的穴居人。以下是穴居人产卵的代码:
//////////////////////
///Starting Cavemen///
//////////////////////
var cavemanVar:Array = new Array(50);
for (var i:Number = 0; i < 50; i++)
{
cavemanVar[i] = 0;
}
var foo:MovieClip = new btn_caveman();
cavemanVar[0] = addChildAt(foo, 7);
var bar:MovieClip = new btn_caveman();
cavemanVar[1] = addChildAt(bar, 7);
cavemanVar[0].x = 335.50;
cavemanVar[0].y = 316.55;
cavemanVar[1].x = 335.50;
cavemanVar[1].y = 369.5;
stage.addEventListener(Event.ENTER_FRAME, example2);
function example2 (evt:Event) {
for (i = 0; i < 50; i++)
{
if (cavemanVar[i] != 0)
{
cavemanVar[i].addEventListener(TouchEvent.TOUCH_TAP, btn_cavemanMenu3);
}
}
}
function option1CavemenSpawn():void {
trace("using option 1")
actions += 1;
score += 5;
remaningActions += 1;
updateTextBox();
var foo6:MovieClip = new btn_caveman();
cavemanVar[2] = addChildAt(foo6, 7);
cavemanVar[2].x = 352.10;
cavemanVar[2].y = 260.80 + Math.random() * (392.40 - 260.80);
}
任何帮助都会很棒,我尝试过使用“穴居人”,“穴居人”[2]&#39;,#cave; RV [i]&#39;没有什么是我想要的。 希望我解释得恰到好处,这是一件很难解释的事情。我还有一个想要实现的移动穴居人功能,可以选择最后点击/点击的穴居人并将其移动到用户点击/点击的位置,这样就可以完成任何操作,如果是这样的话?
编辑:
function btn_cavemanMenu3(event:TouchEvent):void {
btn_cavemanM.gotoAndStop(2);
trace('2');
allowBuildHut();
cancelTapCaveman();
allowTapCavemanClose();
if (remaningActions <= 2 || stone <= 29) {
cancelBuildHut();
}
}
答案 0 :(得分:0)
你的意思是,
cavemanVar[i].addEventListener(TouchEvent.TOUCH_TAP, onTap);
function onTap(e:TouchEvent):void {
var caveman:btn_caveman = e.currentTarget as btn_caveman;
trace("caveman tapped --- (" + caveman.x + ", " + caveman.y + ")");
}
答案 1 :(得分:0)
好的,我立即注意到了一些事情:
example2
的返回类型。但除此之外,我认为您尝试做的事情不起作用的原因是因为您没有在btn_cavemanMenu3
函数中引用选定的穴居人。通过event.currentTarget
,您可以参考被挖掘的穴居人。
目前,您的问题名称和您的问题描述存在冲突。你到底想要达到什么目的?什么在起作用,什么不起作用?