flash on 2009-2-16 ... flashの超基礎的なサンプル Koutarou forked:0favorite:0lines:75license : All rights reserved modified : 2009-02-16 17:41:01 Embed Tweet package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; /** * ... * flashの超基礎的なサンプル */ public class BoundBall extends Sprite { private var vy:Number = 0; private var vx:Number = 0; private var tempX:Number = 0; private var tempY:Number = 0; private const g:Number = 0.98; private const diameter:int = 50; private var ball:Sprite; public function BoundBall() { createObject(); addEventListener(Event.ENTER_FRAME,loopHandler); } private function createObject():void { ball = new Sprite(); ball.x = stage.stageWidth / 2; ball.y = stage.stageHeight / 2; ball.graphics.beginFill(0xff0000); ball.graphics.drawCircle(0, 0, diameter); ball.graphics.endFill(); addChild(ball); ball.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); ball.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler); } private function loopHandler(e:Event):void { ball.x += vx; ball.y += vy; hitWall(); vy += g; } private function dragHandler(e:Event):void { tempX = mouseX; tempY = mouseY; } private function hitWall():void { if (diameter > ball.x) { ball.x = diameter; vx *= -0.5; } else if (stage.stageWidth < ball.x + diameter) { ball.x = stage.stageWidth - diameter; vx *= -0.5; } if (ball.y < diameter) { ball.y = diameter; vy *= -0.5; vx *= 0.98; } else if (stage.stageHeight < ball.y + diameter) { ball.y = stage.stageHeight - diameter; vy *= -0.5; vx *= 0.98; } } private function mouseDownHandler(e:MouseEvent):void { vx = 0; vy = 0; removeEventListener(Event.ENTER_FRAME, loopHandler); addEventListener(Event.ENTER_FRAME, dragHandler); ball.startDrag(); } private function mouseUpHandler(e:MouseEvent):void { vx = mouseX - tempX; vy = mouseY - tempY; removeEventListener(Event.ENTER_FRAME, dragHandler); addEventListener(Event.ENTER_FRAME, loopHandler); ball.stopDrag(); } } } Code Fullscreen Preview Fullscreen MouseEvent.ENTER_FRAME removeEventListener mouseY mouseX addEventListener startDrag stopDrag MouseEvent MouseEvent.MOUSE_UP MouseEvent.MOUSE_DOWN addChild int Sprite Number