我正在嘗試獲取對象的四個角。要測試它是否足夠準確。當我的鼠標通過對象的底部,左側,右側或頂部時,使用一種方法來跟蹤消息。當物體位於座標0,0時。它工作完美。但是當我重新定位它時。它變了,我不知道爲什麼。這是我的代碼。獲取對象的區域
在我的課上,有一個循環有2個methods.updateArea()。和checkball。更新區域常數會更新對象的位置。我的顯示對象forcus點位於Flash Stage的左上角。所以我使用完整的寬度和高度。再次。它在座標0,0處工作正常,當我移動它時,它不會。
package com.objects {
import flash.display.Sprite;
import flash.events.*;
import flash.display.Stage;
import flash.geom.Rectangle;
public class Brick extends Sprite {
public var Points = 100;
public var bWidth:Number = 50;
public var bHeight:Number = 20;
private var left:Number;
private var right:Number;
private var top:Number;
private var bottom:Number;
public var ball:Ball;
private var lastDistance:Number;
public var hit:Boolean;
public function Brick():void
{
addEventListener(Event.ENTER_FRAME, loop);
}
private function loop(e:Event):void
{
updateArea();
checkBall();
}
private function updateArea():void {
left = x;
right = x + bWidth;
top = y;
bottom = y + bHeight;
}
private function checkBall():void
{
if(mouseY < bottom)
{
trace("Works!");
}
}
public function getBall(ball:Ball):void
{
this.ball = ball;
}
public function xDir():Number
{
if ((ball.xDir * ball.xspeed) < 0)
{
return(-1);
}
else if ((ball.xDir * ball.xspeed) > 0)
{
return (1);
}
return 0;
}
public function yDir():Number
{
if (ball.yspeed < 0)
{
return(-1);
}
else if (ball.yspeed > 0)
{
return (-1);
}
return 0;
}
}
}
嗯,我的影片剪輯的x和y座標不同於我的舞臺座標。我意識到它是相對於我的顯示對象而不是主舞臺。但我始終認爲,顯示對象的x和y座標總是相對於主舞臺。爲什麼這是不同的? – numerical25 2010-01-06 04:18:20