世界とキャラクターを保持スプライト/ムービークリップに含めることができます
キャラクターを動かすと、ホルダーの位置を反対方向に設定できます。
グローバルからローカルへの変換を使用してボールの位置を取得し、動きのスムージングを適用することもできます
これは十分に簡単に機能するはずのコードです
holder内部で呼び出されるムービークリップが必要ですball。ホルダーには、ワールドとワールドアセットも含まれます。スケーリングがない限り、使用する必要はありませんglobalToLocal
var middlePt:Point = new Point(stage.stageWidth/2, stage.stageHeight/2);
var pt:Point = new Point(holder.ball.x, holder.ball.y);
var destPoint:Point = new Point(-pt.x + middlePt.x, -pt.y + middlePt.y);
addEventListener(Event.ENTER_FRAME,enterFrame);
function enterFrame(e:Event):void{
holder.x = holder.x*0.5 + destPoint.x*0.5;
holder.y = holder.y*0.5 + destPoint.y*0.5;
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown );
function keydown (event:KeyboardEvent):void{
switch (event.keyCode){
case Keyboard.LEFT :
holder.ball.x -= 10;
break ;
case Keyboard.RIGHT :
holder.ball.x += 10;
break;
case Keyboard.UP :
holder.ball.y -= 10;
break;
case Keyboard.DOWN :
holder.ball.y += 10;
break;
default :
break;
}
middlePt = new Point(stage.stageWidth/2, stage.stageHeight/2);
pt = new Point(holder.ball.x, holder.ball.y);
destPoint = new Point(-pt.x + middlePt.x, -pt.y + middlePt.y);
}