簡體   English   中英

Java 2D游戲攝像頭,無需滾動世界

[英]Java 2D game camera without scrolling the world

我剛剛完成了一個月的項目,為2D瓷磚rpg類型的游戲構建非常復雜的地圖/世界編輯器。 現在,我正要實際玩游戲,並且正在使用通過地圖編輯器生成的地圖,角色和其他內容來創建游戲的運行時實現。 除了相機外,我幾乎完全知道我在做什么。 我想不出一種方法來使照相機以類似於zelda(gameboy)這樣的游戲(照相機固定在角色上)的方式工作,而無需每次滾動游戲中每個精靈和圖塊的(x,y)值玩家移動。 我研究了一些游戲引擎,但是我不相信這是我所需要的,盡管我非常願意在這個假設上犯錯。 整個游戲都是用圖像完成的,沒有渲染的形狀,這使我相信我不需要弄亂openGL即可使相機按需工作。 有人可以建議不使用openGL來實現相機的方法嗎? 我不反對使用openGL,但我不想學習它,因為我已經在其他項目上花了很多時間。 感謝您的建議。

我只會繪制在角色攝影機區域中可見的內容,因此,當角色移動時,您無需移動所有精靈。 但是,屏幕上的所有內容都必須重繪。 這不會占用太多內存,您可以使用某種數據庫系統甚至多維數組來設置它,因為它只能繪制攝像機內部的內容。

例如,如果您的角色位於圖塊100(x)和圖塊50(y)上,並且攝像機是7×7的圖塊網格,那么您所需要繪制的就是在玩家周圍的48個圖塊中發生的一切。 這就是幾乎所有平鋪游戲進行滾動的方式,並且在內存上不是很困難。 您應該能夠以最小的滯后和不太多的編程來完成此操作……這取決於您如何設置圖塊及其分層。

一種簡單的解決方案是創建一個Image對象,繪制到該對象,然后以正確的偏移量在屏幕上繪畫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM