【发布时间】:2011-10-15 20:13:54
【问题描述】:
好吧,我正在做一个跳棋游戏,我需要通过它的位置(x 和 y,两者)来引用一个棋子并将其从屏幕上移除(这没问题)。
我一直在盘点“this”的组合。但什么都没有。 你会怎么做?
【问题讨论】:
标签: actionscript-3 object properties refer
好吧,我正在做一个跳棋游戏,我需要通过它的位置(x 和 y,两者)来引用一个棋子并将其从屏幕上移除(这没问题)。
我一直在盘点“this”的组合。但什么都没有。 你会怎么做?
【问题讨论】:
标签: actionscript-3 object properties refer
this.x 和 this.y 在你的棋盘对象范围内是有效的;但是,如果您要访问其范围之外的片段,则必须使用片段的实例名称。虽然不是最佳的,但您可以循环遍历子 DisplayObject。
// create a collection of your checker pieces
var checkers:Array = [];
// create a checker piece, whatever your DisplayObject class is.
var checker:Checker;
checkers.push(checker);
// add it to the stage, probably your game board
addChild(checker);
checker.x = 100;
checker.y = 100;
// loop through the children (from your game board)
for (var i:uint = 0; i < numChildren; i++)
{
var checker:DisplayObject = getChildAt(i);
trace(checker.x);
trace(checker.y);
}
使用坐标来参考棋子可能不是游戏的最佳选择。您可能需要考虑行/列或从游戏板的工作方式来处理它。
如果不清楚,您应该指定一些代码或更详细地扩展您的问题。
【讨论】:
function removeChecker (event:TimerEvent){ for(var i:uint = 0; i<checkers.length; i++){<br/> var checker:DisplayObject = getChildAt(i);<br/> if (checker.x==200 && checker.y==200){<br/> removeChild(checker);<br/> }<br/> }<br/> }