一个非常简单的数学问题。我试图在我的2D闪光足球点球比赛中执行一个简单的逻辑来检查我的球员是否在稳定球对象的右侧或左侧。只有当球员在球的左边而不在右边时,我才想踢球。检查对象是否在另一个对象的左侧或右侧
我正在使用ActionScript 3.我试图在我的主文档类中实现这个逻辑。我有两个稳定的球对象和一个我的球员。
if(!moveLeft && !moveRight && canShootBall){
for each(var footy:FootBall in footballArray){
if(instance_Xena.hasCollided(footy) && checkIfPlayerLeft(footy)){
trace("COLLISION WITH " +footy.getId());
instance_Xena.playKickAnimation();
}
}
}
public function checkIfPlayerLeft(footy:MovieClip):Boolean{
//check if the player is on the left side of the ball object here
}
于是,我就计算差额像他们的X位置“instance_Xena.x - footy.x”,但它会给当然同样的正数。如果我可以得到球员左侧的正值和球员右侧球员的负值,那么它可以解决我的问题。
我记得在3D空间中使用Vector3点产品来检查玩家是在前面还是在敌人后面。但不知道它是否适用于此。我将如何检查它?
你试过了什么?你为什么不能自己回答这个问题?您可以通过哪种方式访问玩家/对象的坐标?你想在什么环境中实现这个功能? – Sam
对不起,如此含糊不清。我编辑了我的第一篇文章,现在更清晰 – Htlcs
我不知道ActionScript,但为什么你总是得到积极的而不是+ - 号码?你会得到什么“相同的正数”? – Sam