2点間の距離を計測するプログラム
1人でこつこつActionScript3.0アニメーションを読み進める会。。
2つの座標の距離を計測してテキストボックスに出力します。
なんてことのないプログラムです。
肝なのは、
var dx:Number = mouseX - sprite.x; var dy:Number = mouseY - sprite.y; var dist:Number = Math.sqrt(dx * dx + dy * dy);
ピタゴラスの定理。
まさか人生でまたこの名前を聞くとは。。算数役に立つやん。
ソース。
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; public class MouseDistance extends Sprite { private var sprite:Sprite; private var textField:TextField; public function MouseDistance() { init(); } public function init():void { sprite = new Sprite(); addChild(sprite); sprite.graphics.beginFill(0x000000); sprite.graphics.drawRect(-2, -2, 4, 4); sprite.graphics.endFill(); sprite.x = 100; sprite.y = 100; textField = new TextField(); addChild(textField); stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove_stage); } private function onMouseMove_stage(evt:MouseEvent):void { graphics.clear(); graphics.lineStyle(1, 0, 1); graphics.moveTo(sprite.x, sprite.y); graphics.lineTo(mouseX, mouseY); var dx:Number = mouseX - sprite.x; var dy:Number = mouseY - sprite.y; var dist:Number = Math.sqrt(dx * dx + dy * dy); textField.text = dist.toString(); } } }
自己満足。