(影片畫質很糟 不過實際常沒那麼糟)
這次更新了地板和天花板的部分
以前地板和天花板只是色塊沒有材質
這次用了類似 Mode 7 的方法讓地板和天花板有材質
不過在做好這些之後電腦的繪圖量增加了很多
就算把視窗調成192x144偵數也只有10~15左右
經過查詢後發現
原本使用的 WinBGIm 是一個非常舊的函式庫(30多年前的東西了)
當時的電腦可能只有300x200之類的
所以當然跑得很慢
我選擇了一個比較多人在用的2D繪圖函式庫 SDL
雖然依然只有使用繪製矩形的功能
不過速度快了非常多(好像它有用到GPU來跑)
平均都有60偵以上
最低也超過40偵
我也增加了一些判斷讓遊戲不會因為偵數的高低而改變遊戲內一些功能運行的速度
(像是偵數變高時玩家不會忽然走很快)
這裡簡單講解一下繪製地板的方法
首先要先決定近點和遠點的距離
近點是玩家能看到最靠近自己的地方
遠點則是能看到最遠的地方
有了這裡個距離
我們可以在玩家視野的最左和最右找到四個點
這四個點會形成一個梯形
接著我們就可以依照邊的比例換算出螢幕每個像素代表到地圖上的位置
(y軸要乘上arctan)
然後再取出該位置應有的材質顏色
值得注意的是
如果你調整遠點的距離
玩家會有一種正在往上飛或往下掉的感覺
如果調整近點的距離則會有在上坡或下坡的錯覺