无法在AS3中将塔添加到我的塔防游戏中

时间:2013-04-19 03:06:59

标签: actionscript-3 actionscript

在我解释我所拥有的细节之前,我只是想让你知道我是一个非常缺乏经验的程序员,我感谢任何人的帮助。

到目前为止我所做的是我已经制作了一个占据整个电路板的单元阵列,除了路径。所有单元格都被添加到Simulator类中。我的单元类只包含一些不同的事件监听器,当我滚动它们时,它会改变单元格的颜色。我一直在尝试在我的单元类中添加一个addTurret函数,如下所示:

private function addTurret(e: MouseEvent): void
{
  var turret: Turret = new Turret();
  addChild(turret);
  turret.x = this.x;
  turret.y = this.y;
}

这是在单元类的构造函数中:

this.addEventListener(MouseEvent.CLICK, addTurret);

Turret课程现在只做一个简单的红圈。当我点击单元格时,炮塔只是出现在随机位置(我不知道为什么),我希望它们出现在我单击的单元格顶部。

感谢任何有解决方案的人。

1 个答案:

答案 0 :(得分:1)

您正在向单元格添加炮塔,我假设它是添加到棋盘的DisplayObject。当您将炮塔添加为单元格的子级时,它的x,y位置现在相对于单元格的x,y位置。

因此,将炮塔的x,y位置设置到单元格的x,y位置可能是个问题。没有必要,因为你的炮塔应位于你牢房的0,0位置。

所以只需修改你的addTurret函数:

private function addTurret(e: MouseEvent): void
{
  var turret: Turret = new Turret();
  addChild(turret);
}