作者etrexetrex (moonet)
看板Flash
標題Re: [問題] 從中心向外擴散讀取bitmapdata點陣
時間Thu Nov 4 23:49:04 2010
我說的是像這樣的東西:
http://cgm.cs.ntust.edu.tw/etrex/iterator/iterator.html
原始檔:
http://cgm.cs.ntust.edu.tw/etrex/iterator/iterator.fla
========================= 程式碼 =========================
var i = 1;
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
function enterFrameHandler(e:Event):void{
var x = FX(i) * 30 + 255;
var y = FY(i) * 30 + 180;
NumberText(i , x, y);
i++;
}
function NumberText(i:int,x:int,y:int)
{
var T = new TextField();
T.x = x;
T.y = y;
T.text = i;
this.addChild(T);
}
function FX(i:Number):Number{
var w = Math.sqrt(i-1);
w = (w + 1) / 2;
w = Math.floor(w);
var d = i - ((2*w - 1) * (2*w - 1) + 1) ;
if (d < 0) d = 0;
if( d < 2 * w)
return -w + d;
else if (d < 4 * w)
return w;
else if( d < 6 * w)
return 5 * w - d;
else
return -w;
}
function FY(i:Number):Number{
var w = Math.sqrt(i-1);
w = (w + 1) / 2;
w = Math.floor(w);
var d = i - ((2*w - 1) * (2*w - 1) + 1) ;
if (d < 0) d = 0;
if( d < 2 * w)
return -w;
else if (d < 4 * w)
return -3 * w + d;
else if( d < 6 * w)
return w;
else
return 7*w - d;
}
--
blog:
http://etrex.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.153.75
→ etrexetrex:疑 看起來FX應該要微調一下才會螺旋的順 11/04 23:51
→ etrexetrex:把 FX 和 FY 裡的 if (d < 0) d = 0; 11/04 23:54
→ etrexetrex:改成 d++; 11/04 23:54
→ etrexetrex:就可以很順了 11/04 23:55
→ KawasumiMai:公式頗複雜.....Orz 11/05 00:19
→ etrexetrex:硬推的 11/05 00:34
→ etrexetrex:不過我已經推完啦 所以要用可以直接用 11/05 00:59
推 iverson007::) 讚!! 11/05 01:47