如何解决如何检查是否有新的对象hitTest与同一数组中的最后一个对象?
大家好,所以我有一个数组aCatArray
,可用于在屏幕上推出同一对象的新实例。前提是该数组中的每个新对象都将从屏幕上掉下来并堆叠在一起。我做到了,但是现在我要检查是否已将推入阵列的新猫放在倒数第二只猫的上方,然后将其结束。现在,如果新猫落在任何其他猫上,它只会堆叠在它上面。但我只希望它堆叠在新添加的最后一个猫的顶部,而不是数组中的其他任何猫。这是我设置添加猫的方法:
private function addCats():void
{
//Create Instance
cats = new mcCats();
//Add Objects
addChild(cats);
//Push to Array
aCatArray.push(cats);
trace(aCatArray.length + " Cats in Array");
}
这是我如何使用数组中的相同对象处理HitTest的方法:
private function stackingHandler():void
{
for (var i:int = 0; i < aCatArray.length; i++)
{
var currentCat:mcCats = aCatArray[i];
for (var j:int = 0; j < aCatArray.length; j++)
{
var newCat:mcCats = aCatArray[j];
if (currentCat == newCat) continue;
//Hit Test between Objects
if (newCat.mcBottom.hitTestObject(currentCat.mcTop) && newCat.bFlag == false)
{
//Stop Moving
newCat.stopMoving();
if (nCatModule == 0)
{
addCats();
//trace("ADD CATS 1");
}else
{
TweenLite.delayedCall(0.8,addCats); // For bug if added to early
//trace("ADD CATS 2");
}
//Add Points
nCatModule ++;
trace(nCatModule + " Score");
//Set Flag boolean
newCat.bFlag = true;
break;
}
}
}
}
}
任何帮助将不胜感激。我昨晚用尽了所有的精力并半完成了它,但是它仅适用于数组中的前两个对象。一旦添加了新的,它将无法正常工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。