0

我正在使用 Flash Professional CS5.5,我需要制作一个应用程序,其中有一个使用加速度计移动的球(符号),我想要这样,当球 A 坐标达到此坐标时,BI 转到第 2 帧(gotoAndPlay( 2))。我必须先找到球坐标,对吧?我怎么做这个?

这是我现在的代码

c_ball.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void{
c_ball.startDrag();}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void{
c_ball.stopDrag();}

如果在检索坐标后会起作用吗?

function f_level (e) if (c_ball.x==100 && c_ball.y==100) {
gotoAndStop(2);}
4

2 回答 2

1

我会添加一个enter frame事件监听器,并在那里检查 c_ball 的坐标。

stage.addEventListener(Event.ENTER_FRAME, siteLoop);

public function siteLoop(event:Event)
{
  if ((c_ball.x > 99.9) && (c_ball.y > 99.9)){
    gotoAndStop(2);
  }
}
于 2012-04-24T17:06:39.470 回答
1

使用碰撞检测创建一个目标区域并用你的球测试它 - 如果需要 onEnterframe 对象或者当你每件事都花时间时:

private function test():void{
    if(  ball.hitTestObject(testarea) ){
        // here goes next frame command ;)
    }
} 
于 2012-04-24T18:08:58.630 回答