我在過去提出過類似問題的線索,但由於缺乏詳細信息,答案並沒有真正與我所需要的相關,因此我將盡可能詳細地解釋我的問題我可以,希望你能更容易理解我的需求。Java碰撞檢測不工作
我在YouTube上觀看了Bucky的光滑遊戲教程並製作了2D Java遊戲,該遊戲基本上是一個從上方觀看的2D播放器(鳥瞰圖),可以在用戶鍵盤輸入(左上,右下,左, 對)。玩家移動的地圖非常小,因此必須設置界限,以便玩家不能離開地圖,以便更好地瞭解如何完成此操作,以下是設置voundries的教程:
http://www.youtube.com/watch?v=FgGRHId8Fn8
視頻也將顯示遊戲你到底是什麼樣。 問題是,這些邊界只需要一個軸,這意味着如果玩家走下來,就會說「如果玩家到達X軸上的座標(數字),則將玩家的移動改變到相反的方向,以至於他不能再往前走。「 現在這對我造成一個問題,因爲這隻需要一個座標軸,所以很容易設置和理解,但如果您看視頻,地圖上有一間房子,我希望我的播放器不能走過此外,但這涉及2個維度,我已經看過矩形碰撞之類的東西,並且在其他帖子中看到了與它們有關的東西,但我感到困惑,因爲我是Java的新手,並且除了觀看之外還沒有真正做過很多事情Bucky的教程。
我的代碼目前爲我的遊戲類獲得了以下方法:init,render和update。所以總結一下,我真的只想設置一種不讓我的玩家在房子裏散步的方式,我也會提到(我應該在其他主題中提到它),因爲我對Java很陌生,能否請您採取一步一步的方法向我展示如何設置碰撞,我的意思是甚至根據需要製作矩形。
如果我的代碼是必需的,請告訴我,我會盡快發佈。
預先感謝您。
謝謝您的回覆,但請您告訴我在使兩個矩形相交後,if語句會是什麼樣子?我的意思是,我如何告訴java,如果它相交,那麼阻止它進一步進入另一個矩形? –
添加了一個示例 –
我很抱歉,但我不明白如何執行您寫入我的遊戲代碼的代碼,我瞭解您的代碼是如何工作的,因爲您已經完成了一項出色的工作,並用評論解釋它,但我認爲它不起作用與我的代碼,因爲你的代碼從變量獲取X和Y座標,但在我的代碼中,變量已經是coorinates,我已經附加了我的代碼,以幫助您瞭解我的意思,buckyPositionX和buckyPositionY是已經保存X,Y座標,但是當我嘗試更改您的代碼以適合我時,會出現大量錯誤。 –