作者yoll522 (yolling)
看板GameDesign
標題[請益] 關於人物移動的狀態機
時間Thu Jun 7 19:32:54 2012
前一陣子在這裡詢問各位高手人物移動該怎麼寫比較好
得到了Chenglap大的答案,是用狀態機的方式寫
目前我們一個角色有四個方向,每個方向有3張,總共12張圖片
所以我想到的方法是先創一個12個大小的陣列,
接著把那張角色圖的每個位置擷取下來,放進該陣列的位置
大概如下
Image *temp = new Image(L"路徑"); //讀取整張角色圖,放進temp
Image *Role = new Image[12]; //創一個Role的陣列,打算將角色圖的每個位置存入
Role[0] = xxxxxxxx //取出方向為上的第一張圖
Role[1] = xxxxxxxx //取出方向為上的第二張圖
Role[2] = xxxxxxxx //取出方向為上的第三張圖
這樣當我按下方向鍵上的時候,程式就會去執行Role[0]到Role[2]的圖片
可是我查了很久的GOOGLE,並沒有查到可以擷取圖片的部分位置,然後存入陣列的
想請問各位高手,我的方法正確嗎?或者是有什麼方法可以讓我把角色存入陣列的?
謝謝
我本來有查到SetClip,但這似乎只能擷取圖片的位置後,就直接畫出去了
好像不能夠存到陣列裡@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.32.47
推 Hevak:你的role[0]= xxxx的xxx是什麼? 06/07 20:08
→ yoll522:是我卡住的地方@@ 我不知道該怎麼寫才可以把圖片的 06/07 20:11
→ yoll522:部分位置擷取出來存到陣列裡,所以用xxx代替@@ 06/07 20:12
推 Hevak:試試bitbit? 06/07 20:27
推 Hevak:啊,糟糕,我好像笨了....電梯向下orz 06/07 20:31
→ Hevak:setclip的話我會想到在[]裡面再套一組[]儲存參數.... 06/07 20:31
→ yoll522:請問是說bitblt嗎?因為查不到bitbit,然後setclip也有辦法 06/07 20:52
→ yoll522:把圖片擷取下來儲存嗎? 06/07 20:52
→ Hevak:喔對bitblt... 06/07 21:09
→ Hevak:setclip不會回傳新物件的樣子... 06/07 21:09
→ yoll522:我剛好像找到了@@ bitmap的方法裡面有一個clone 06/07 21:37
→ yoll522:這個有辦法擷取部分的圖案,雖然不知道這是不是最佳方法 06/07 21:37
→ yoll522:但還是先試試看,很謝謝你唷 06/07 21:38