(section06-01 Pointクラスから抜粋)
次のサンプルではインスタンスball_mcとマウスカーソルの距離を測り、距離が200ピクセル以内になったとき、マウスが近づくほどball_mcが速く回転するというものです。ball_mcとマウスカーソルの距離は8行目のPoint.distance(ballPt,mousePt)で計算しています。ball_mcとマウスカーソルの距離はマウスカーソルがball_mcの左右上下のどの方向にあっても正の値になります。また、11行目では回転速度が大きく成りすぎないように距離が10ピクセルより近づいたときには、計算では10ピクセルを最低値として使用しています。
→swfを試す
[:script:]マウスが近づくほど回転が速くなる
次のサンプルではインスタンスball_mcとマウスカーソルの距離を測り、距離が200ピクセル以内になったとき、マウスが近づくほどball_mcが速く回転するというものです。ball_mcとマウスカーソルの距離は8行目のPoint.distance(ballPt,mousePt)で計算しています。ball_mcとマウスカーソルの距離はマウスカーソルがball_mcの左右上下のどの方向にあっても正の値になります。また、11行目では回転速度が大きく成りすぎないように距離が10ピクセルより近づいたときには、計算では10ピクセルを最低値として使用しています。
![fig06-01-06.jpg](http://oshige.com/flash/as3note_cs4/images/fig06-01-06-thumb-240x184.jpg)
[:script:]マウスが近づくほど回転が速くなる
addEventListener(Event.ENTER_FRAME, onEnterframe); function onEnterframe(eventObj:Event):void { //インスタンスの座標 var ballPt:Point=new Point(ball_mc.x,ball_mc.y); //マウスの座標 var mousePt:Point=new Point(stage.mouseX,stage.mouseY); //インスタンスとマウスの距離 var distance:Number=Point.distance(ballPt,mousePt); //距離が200以下の時に回転する if(distance<200){ ball_mc.rotation+=2000/Math.max(10,distance); } }