forked from: クリックによって表示、非表示を切り替える
forked from クリックによって表示、非表示を切り替える (diff: 20)
ActionScript3 source code
/**
* Copyright MMMMMonchi ( http://wonderfl.net/user/MMMMMonchi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/6oou
*/
// forked from MMMMMonchi's クリックによって表示、非表示を切り替える
package
{
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Matrix;
public class Main extends Sprite
{
private var rect:Sprite;
private var tx:Number=0;
private var bp:Bitmap;
private var bd:BitmapData;
private var newbd:BitmapData;
public function Main()
{
rect = new Sprite();
rect.graphics.beginFill(0xFF0000);
rect.graphics.drawCircle(0, 0, 50);
rect.graphics.endFill();
rect.graphics.beginFill(0xFFff00);
rect.graphics.drawCircle(10, 15, 10);
rect.graphics.endFill();
rect.x = rect.y = 232;
addChild(rect);
bd = new BitmapData(200, 200, false, 0xff9966);
newbd = new BitmapData(50, 50, false);
var matrix:Matrix = new Matrix();
matrix.tx = -100;
matrix.ty = -80;
newbd.draw(bd, matrix);
for (var i:int;i<100;i++){
if (i%2==0){
bd.setPixel(i, i, 0x000000);}
}
addChild(new Bitmap(newbd));
rect.addEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.addEventListener(MouseEvent.CLICK,onClick);
}
private function onEnterFrame(event:Event):void
{
tx+=0.3;
rect.rotationZ+=10;
rect.scaleX += 0.01;
rect.scaleY += 0.01;
rect.x=tx;
rect.alpha=0.9;
bp.rotation-=10;
bp.scaleX+=0.01;
bp.x=tx;
}
private function onClick(e:MouseEvent):void{
stage.removeEventListener(MouseEvent.CLICK,onClick2);
rect.visible=false;
stage.addEventListener(MouseEvent.CLICK,onClick2);
}
private function onClick2(e:MouseEvent):void{
stage.removeEventListener(MouseEvent.CLICK,onClick);
rect.visible=true;
stage.addEventListener(MouseEvent.CLICK,onClick);
}
}
}
