【发布时间】:2014-03-22 07:54:04
【问题描述】:
所以我有一个名为hookLine 的电影剪辑,它是从我的mainEngine 班级添加到舞台的。这个空的movieClip 连接到我的fisherman Movie Clip 并弯曲到我的playerHook Movie Clip。它像这样添加并连接到舞台:
在我的mainEngine 函数循环中:
playerHookLine();
然后是函数:
private function playerHookLine():void
{
//Add hook line to fisherman and playerhook
hookLine.graphics.clear();
hookLine.graphics.lineStyle(1);
hookLine.graphics.moveTo(fisherman.x, fisherman.y);
hookLine.graphics.curveTo(playerHook.x, playerHook.y, mouseX, mouseY);
}
现在我遇到的问题是,每当我尝试使用名为 currentShark 的移动剪辑对 hookLine 进行 hitTest 测试时,hitTest 工作并且我得到了跟踪,但是当我将钩线弯曲到侧面和currentShark 出现在舞台上它会自动命中测试并给我跟踪。所以基本上鲨鱼甚至不必接触实际的线条图形。就在鲨鱼被添加到舞台时,它只是注册。
有人知道这是为什么吗?
hitTest 函数是这样的:
private function checkPlayerHitShark():void
{
//Loop through all sharks
for (var i:int = 0; i < aSharkArray.length; i++)
{
//Get current Shark in i loop
var currentShark:mcShark = aSharkArray[i];
//Check if shark is hittest with Hook
if (currentShark.hitTestObject(playerHook) || currentShark.hitTestObject(hookLine))
{
trace("Hook Hit Shark");
trace("hit LINE");
removePlayerLive();
//Destroy player
playerHook.destroyPlayerHook();
hookLine.destroyHookLine();
//Remove shark from array
aSharkArray.splice(i, 1);
//Add new Hook to stage
stage.addChild(playerHook);
stage.addChild(hookLine);
}
}
}
【问题讨论】:
标签: actionscript-3 graphics flashdevelop flash-cs6 hittest