AS2 會跳舞的骨骼小人 1

2021-04-01 20:56:20 字數 2775 閱讀 7666

[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檔案...