作者BSpowerx (B.S)
看板GameDesign
標題Re: [遊戲] 自製遊戲 - 只有神知道的洛克人
時間Wed Aug 29 23:32:01 2012
※ 引述《yoll522 (522)》之銘言:
: 原文怒刪
: 不好意思,我最近也在用SDL開發橫向捲軸,
: 有幾點問題想請問一下,謝謝
: 1.請問你遊戲在執行的時候是如何不讓CMD視窗跑出來的?
lazyfoo第一課XD
我是用Code::Blocks 其他IDE我不清楚
就把Project/targets options裡面的Build targets裡面的Type改成GUI application
然後編譯的時候選擇release 而不是Debug模
: 2.請問你遊戲是如何做到可以讓畫面X1跟X2?圖片是如何跟著等比例放大跟縮小的?
可以參考lazyfoo第31課,
這一課有教你怎麼自己寫程式將圖片水平翻轉。
稍微改一下這部份的程式,改成將圖片變大兩倍就行
總之SDL似乎沒有內建圖片放大(縮小)功能,
因此必須自己去寫。
畢竟圖片放大縮小時,會根據你演算法的不同產生很大的差異
總之就自己讀圖檔 -> 寫程式將他放大 -> 將放大的圖拿來用
: 3.請問你遊戲的被攻擊以及攻擊別人是如何判斷『擊中』的?
Lazyfoo第17課,這邊基本上就講了碰撞的判斷基礎
一般習慣上、即使是不規則的圖形也當成一個正方形來判定(比較省資源)
於是用幾個迴圈去掃描所有的物件,
判斷彼此之間有沒有碰撞。
雖然不是沒有比較快的演算法(用O(N log(N))去排序再掃描之類 )
不過太麻煩了XD 直接全部掃過一次比較快。
場地上有20個物件會彼此碰撞就掃20*19次
: 不好意思問題有點多@@
: 還希望可以指教一些,謝謝
--
▄▄ ▄
▄██▄▄ ▄ ▄▄▄▄ ▄▄▄ ▄ ▄ ▄ ▄ ▄
▄▄ ▄▄▄ ▄ ________ ▄ ▄ ▄ ▄ ▄▄▄
▄▄ ▄▄▄ █
▄ (Nintendo) ▄▄ ▄ ▄ ▄ ▄
▄▄▄▄ ▄▄ ▄  ̄ ̄ ̄ ̄ ▄▄▄ ▄▄▄▄ ▄
▄▄▄▄▄▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.144.7
1F:推 cooper6334:3我都當作圓形用距離vs半徑判斷,這樣會比較吃資源嗎? 08/30 00:00
2F:推 Bencrie:其實 gcc 系的 linker 參數加上 -mwindows 就可以去掉 08/30 00:02
3F:→ Bencrie:cmd 視窗了。 08/30 00:02
4F:→ BSpowerx:圓形也可以,看遊戲需求吧。我納款遊戲也有部份攻擊是用 08/30 00:08
5F:→ BSpowerx:圓形作判定 08/30 00:08
6F:推 Bencrie:拿掉 sqrt 會快一點 XD 08/30 00:09
7F:推 cooper6334:當然不是開根號求實際距離,而是把半徑和平方阿XDDDD 08/30 00:10
8F:推 yoll522:感謝解答,我那時就想說要參考教學說的正方形判斷 08/30 00:26
9F:→ yoll522:就是擔心說要判斷的正方形太多,程式會lag@@ 08/30 00:27
10F:→ yoll522:翻轉那課我有學到,可是它裡面有教到放大嗎 08/30 00:27
11F:→ yoll522:還是這是你額外自己想的? 08/30 00:28
12F:推 Bencrie:放大 bilinear interpolation 就很好用了 @@a 08/30 00:30
13F:推 yoll522:不好意思,我想在請問一個問題,如果一個地板有斜坡 08/30 00:52
14F:→ yoll522:然後我是打算用一個私底下的地圖判斷來做移動路徑 08/30 00:52
16F:→ yoll522:人物移動在畫面顯示是右邊的圖,實際上判斷是左邊那個 08/30 00:53
17F:→ yoll522:那請問sdl有那種『判斷是否是什麼顏色』這樣嗎? 08/30 00:53
18F:→ yoll522:這樣我就可以寫說『如果前面有黑色,則人物y上升』 08/30 00:53
19F:→ yoll522:謝謝 08/30 00:54
20F:推 juicefish:套句我們老師以前說的「先有功能,再考慮效能」 08/30 12:05
21F:→ juicefish:我想Lag問題不是你這個階段要考慮的 08/30 12:06
22F:→ BSpowerx:Lazyfoo 18課有教針對圖形像素去作的碰撞判斷 08/30 12:13
23F:推 yoll522:18課教的不是每個像素的碰撞嗎? 因為我是想說能不能判斷 08/30 13:00
24F:→ yoll522:主角的底部踩到的是不是黑色 08/30 13:00
25F:→ BSpowerx:就改成判斷主角腳部的像素碰到的像素是不是黑的就是啦~ 08/30 14:19
26F:→ BSpowerx:我自己是沒寫過啦XD 看你的應用力了 08/30 14:20
27F:推 yoll522:好的,謝謝你的幫忙 08/30 16:55
28F:→ damody:lag問題是 寫程式的人在考慮的 09/03 04:27