看板 GameDesign 關於我們 聯絡資訊
其實你已經把整張圖寫進記憶體裡面了 只要運用sprite的概念 切割出每次你想要的區塊就行了 寫入只需要一次 之後就是讀取 陣列裡存的東西最好簡單一點 像是需要切割的邊緣座標 用二維陣列我想就行了 ※ 引述《yoll522 (yolling)》之銘言: : 前一陣子在這裡詢問各位高手人物移動該怎麼寫比較好 : 得到了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: 59.116.3.108
Hevak:用他原本那種寫法的話就是把Role[]裡面塞[參數]比較快 06/09 08:59
yoll522:我之前也是用切割的方式來貼圖,我創了一堆陣列 06/10 18:42
yoll522:裡面都放了每張圖的x跟y的座標 06/10 18:42
yoll522:等這次期末考結束我再來研究陣列放x、y的座標 06/10 18:43
yoll522:還是陣列裡面直接放切好的圖,哪種比較有效率,謝謝 06/10 18:43
cowbaying:兩者效率要看你是否每次使用一次後就把記憶體釋放 06/10 18:56
cowbaying:如果程式在初始化的過程中就把圖像載入記憶體 06/10 18:57
cowbaying:而在程式結束前都不去釋放資源 那兩種效率是一樣的 06/10 18:57
Hevak:效率....可以設計一個計時測試跑看看 06/10 20:40
Hevak:不釋放的話,切好的圖應該會跟setclip差不多效果... 06/10 20:40
yoll522:可是setclip有辦法把圖存起來嗎?還是只能直接貼出去? 06/10 22:59
Hevak:setclip就是把圖持續在那邊,但是設定不同的顯示範圍 06/11 13:26
Hevak:他不是貼複本,他是調整顯示範圍... 06/11 13:26
cowbaying:看到這篇文章手癢想開始做3D遊戲了... 06/11 15:17
cowbaying:把系統戰爭作成3D的應該不錯 06/11 15:17