flash on 2011-4-24
♥0 |
Line 49 |
Modified 2011-04-24 16:42:46 |
MIT License
archived:2017-03-20 02:28:56
ActionScript3 source code
/**
* Copyright e_2o ( http://wonderfl.net/user/e_2o )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/wbWu
*/
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
public class Main extends Sprite
{
private var rect:Sprite;
private var cir:Sprite;
public function Main()
{
// 100 * 100の赤四角形
rect = new Sprite();
cir = new Sprite();
rect.graphics.beginFill(0xED1A3D);
rect.graphics.drawRect(0, 0, 100, 100);
rect.graphics.endFill();
rect.buttonMode = true;
addChild(rect);
cir.graphics.beginFill(0xED1A3D);
cir.graphics.drawCircle(200, 200, 100);
cir.graphics.endFill();
cir.buttonMode = true;
addChild(cir);
// マウスが押された時にonMouseDown()を呼び出す
rect.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
cir.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
// 押したボタンが離された時にonMouseUp()を呼び出す
rect.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
cir.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
// 画面外に出たときにonMouseLeave()を呼び出す
stage.addEventListener(Event.MOUSE_LEAVE, onMouseLeave);
}
private function onMouseDown(event:MouseEvent):void
{
// 画面サイズが465 * 465の場合
rect.startDrag(false, new Rectangle(0, 0, 465 - rect.width, 465 - rect.height));
cir.startDrag(false, new Rectangle(0, 0, 465 - rect.width, 465 - rect.height));
//rect.startDrag();
}
private function onMouseUp(event:MouseEvent):void
{
rect.stopDrag();
cir.stopDrag();
}
private function onMouseLeave(event:Event):void
{
rect.stopDrag();
cir.stopDrag();
}
}
}