我正在使用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);}
答案 0 :(得分: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);
}
}
答案 1 :(得分:1)
使用碰撞检测创建一个目标区域并使用你的球对象进行测试 - 如果想要在onEnterframe上或每当你的时间:
private function test():void{
if( ball.hitTestObject(testarea) ){
// here goes next frame command ;)
}
}