[as2]
會跳舞的骨骼小人
[1]
by emilmatthew
05/10/05
前不久,在一本講
matlab
的書上看到乙個例子,用繪圖函式畫乙個小人。
就像下面這樣的
:
既然這個小人可以畫出來,那麼可否讓他動呢,我想這個很顯然是沒有問題的,只要把的身體的各個組成部分分解開就可以了。
組成這個小人的只有兩種元件成分,乙個是圓形,乙個是線條
.**分別如下
:class skelectoncircle
public function init(inx:number,iny:number,inr:number,instyle:number):void
public function reset(inx:number,iny:number,inr:number,instyle:number):void
public function draw():void
//endfill();
}public function clean():void
public function tostring():string
public function finallize():void
}class skelectonline
public function init(inx1:number,iny1:number,inx2:number,iny2:number,instyle:number):void
public function reset(inx1:number,iny1:number,inx2:number,iny2:number,instyle:number):void
public function draw():void
public function clean():void
public function tostring():string
public function finallize():void
}接著,我們定義乙個小人類
,一共有
11個部分組成,具體是什麼你一看便知
:class skelectonperson
public function draw():void
public function clean():void
}然後就是將這個小人的各個部分組裝起來了
:var testperson:skelectonperson=new skelectonperson();
testperson.mhead.init(180,30,20);
testperson.mleftshoulder.init(140,80,180,80);
testperson.mrightshoulder.init(180,80,220,80);
testperson.mlefthand.init(110,40,140,80);
testperson.mrighthand.init(250,40,220,80);
testperson.mupbody.init(180,50,180,80);
testperson.mdownbody.init(180,80,180,120);
testperson.mleftthigh.init(180,120,150,150);
testperson.mrightthigh.init(180,120,210,150);
testperson.mleftleg.init(150,150,150,200);
testperson.mrightleg.init(210,150,210,200);
最後,讓我們以乙個小人的手在揮動的動作來結束實驗
1:感覺這個實驗裡最讓我頭痛的就是
flash
正切角的計算方式了,搞了半天才算
ok,呵呵
~~: )
//呼叫段**
testperson.draw();
/* ----test 1:data init.----*/
handlen=math.sqrt((110-140)*(110-140)+(40-80)*(40-80));
//left hand data.
x0[0]=110;
y0[0]=40;
//left hand axes center
x1[0]=140;
y1[0]=80;
//right hand data.
x0[1]=250;
y0[1]=40;
//right hand axes center
x1[1]=220;
y1[1]=80;
fi0=eatan2(x0[0]-x1[0],y0[0]-y1[0]);
fi1=eatan2(x0[1]-x1[1],y0[1]-y1[1]);
detafi0=0.05;
detafi1=-0.05;
setinterval(handmove,200);
/*---end of test 1---*/
//主運動函式
://skelecton person test1:
function handmove()
效果:http://bbs.flash8.net/bbs/uploadfile/2005-10/200510516057284.swf
//歡迎提出批評與指正意見!
AS2,資料結構 棧的實現
as2,資料結構 棧的實現 by emilmatthew10 3 如果你要問我資料結構裡最容易實現的是哪種,我現在會回答你是棧。但棧的功能卻很強大,在編譯,演算法等許多地方都看到它的身影。想想洗完後碟子的擺放與取走的方式,是乙個 filo first in last out 的現像,這便是棧在現實生...
AS2中Tween類的delete與stop
問題二好解決,新增乙個標誌變數即可,問題一看起來也好解決,檢視一下其它部分的 發現以前負責這個專案的經理使用了a new tween delete a 這樣的 那也我也照著用,但是問題又來了,現在閃爍的問題更嚴重了。費了老大功夫在 裡加了n個trace語句,發現即使delete掉了tween結果改變...
2dX lua 骨骼動畫的建立
建立骨骼動畫 json檔案,atlas檔案,第三個引數是縮放倍數 sp.skeletonanimation create jsonpath,atlaspath,1 skeletonanimation 骨骼 動畫 更改檔名的時候,需要改json,atlas,png檔名稱一致,更重要的是將atlas檔案...