forked from: forked from: TweetCoding (111文字)
流れに便乗して、さらに短くしてみました (111文字)
/**
* Copyright o8que ( http://wonderfl.net/user/o8que )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/3iQe
*/
// forked from bkzen's forked from: TweetCoding
// forked from bkzen's TweetCoding
/*
* 流れに便乗して、さらに短くしてみました (111文字)
*/
package
{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import frocessing.color.ColorHSV;
/**
* clockmaker さんが短くしたヤツをさらに短くしてみたw
* @see http://wonderfl.net/code/b8aba0e8ce1b58d2c676580f7c806c0d42aab94d
* *****
* @see http://gskinner.com/playpen/tweetcoding.html
*
* 簡単なルール説明:
* "Gimme Code" を修正してはいけない。
* 140 文字以内に収めなければいけない。
* loop 内のみ弄れる。
* AS3 strict mode は "ON"(wonderfl が故)、対象は FP10
* 以上。詳しくは上のURLで。
*
* Gimme code.
* g=graphics;
* mt=g.moveTo;
* lt=g.lineTo;
* ls=g.lineStyle;
* m=Math;
* r=m.random;
* s=m.sin;
* i=0;
* o={};
*
* @author jc at bk-zen.com
*/
[SWF(width = "465", height = "465", backgroundColor = "0", frameRate = "30")]
public class TweetCoding extends Sprite
{
//private const check: Boolean = false; // これをtrueにすると、何文字か出力されます。countTest に手動でコピペしてねw
private const check: Boolean = true; // これをtrueにすると、何文字か出力されます。countTest に手動でコピペしてねw
private function loop(e: Event): void
{
/* ソースをここに書く コメント以外は140文字 */
x=y=235;g.clear();for(i=o.n||=0;++i<x;lt(i*m.cos(i+i*o.n),i*s(i+i*o.n)))ls(1,new ColorHSV(i+o.n*x*9));o.n+=.1/x
// title : forked from: closure graphics
}
private function countTest(): void
{
var fsrc: String = "x=y=235;g.clear();for(i=o.n||=0;++i<x;lt(i*m.cos(i+i*o.n),i*s(i+i*o.n)))ls(1,new ColorHSV(i+o.n*x*9));o.n+=.1/x";
var txt: TextField = new TextField();
txt.textColor = 0xFFFFFF;
txt.text = "only " + fsrc.length + " characters";
txt.autoSize = "left";
txt.x = 450 - txt.width - 235;
txt.y = 450 - txt.height - 235;
addChild(txt);
}
private var g: Graphics;
private var m: Object;
private var o: Object;
private var i: Number = 0;
private var mt: Function; // g.moveTo
private var lt: Function; // g.lineTo
private var ls: Function; // g.lineStyle
private var r: Function; // Math.random
private var s: Function; // Math.sin
public function TweetCoding()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e: Event = null): void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
//
g = graphics;
mt = g.moveTo;
lt = g.lineTo;
ls = g.lineStyle;
m = Math;
r = Math.random;
s = Math.sin;
o = { };
if (check) countTest();
addEventListener(Event.ENTER_FRAME, loop);
}
}
}