forked from: 四角が動くだけ
forked from 四角が動くだけ (diff: 62)
ActionScript3 source code
/**
* Copyright imo_ ( http://wonderfl.net/user/imo_ )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/8bcK
*/
// forked from ProjectNya's 四角が動くだけ
package {
import flash.events.Event;
import flash.display.Sprite;
[SWF(frameRate = "65535")]
public class FlashTest extends Sprite {
private var rect:Sprite;
private var px:Number;
private var py:Number;
private var vx:Number;
private var vy:Number;
public function FlashTest() {
init();
}
private function init():void {
var bg:Sprite = new Sprite();
bg.graphics.beginFill(0x101010);
bg.graphics.drawRect(0, 0, 465, 465);
bg.graphics.endFill();
addChild(bg);
rect = new Sprite();
rect.graphics.beginFill(0xffffff);
rect.graphics.drawRect(-48, -48, 96, 96);
rect.graphics.endFill();
addChild(rect);
px = 256;
py = 256;
var ang:Number = Math.random() * 2 * Math.PI;
vx = Math.cos(ang) * 96;
vy = Math.sin(ang) * 96;
addEventListener(Event.ENTER_FRAME, frame);
}
private function frame(e:Event):void {
rect.rotationZ = (rect.rotationZ + Math.random() * 60) % 360;
rect.x = px;
rect.y = py;
px += vx;
py += vy;
var ang:Number;
if (px < 0) {
px = 0;
ang = Math.random() * 2 * Math.PI;
vx = Math.cos(ang) * 128;
vy = Math.sin(ang) * 128;
if(vx < 0) vx = -vx;
}
if (py < 0) {
py = 0;
vy = -vy;
ang = Math.random() * 2 * Math.PI;
vx = Math.cos(ang) * 128;
vy = Math.sin(ang) * 128;
if(vy < 0) vy = -vy;
}
if (px > 465) {
px = 465;
ang = Math.random() * 2 * Math.PI;
vx = Math.cos(ang) * 128;
vy = Math.sin(ang) * 128;
if(vx > 0) vx = -vx;
}
if (py > 465) {
py = 465;
ang = Math.random() * 2 * Math.PI;
vx = Math.cos(ang) * 128;
vy = Math.sin(ang) * 128;
if(vy > 0) vy = -vy;
}
}
}
}