簡體   English   中英

Java 2D引力?

[英]Java 2D gravity?

我正在制作一個2D Java游戲,我正在試圖弄清楚如何添加基本的“引力”

我目前的代碼是這樣的:

    public void checkCollision() {
    Rectangle player_rectangle = new Rectangle(player.getX(),player.getY(),32,32);

    for(Wall wall : walls) {

        Rectangle wall_rectangle = new Rectangle(wall.getX(), wall.getY(), 32,32);

        if(player_rectangle.intersects(wall_rectangle)) {

            player.yspeed = 0;

        } else {
            player.yspeed = 1;
        }
    }

出於某種原因,即使觸摸它,我的代碼也直接穿過牆壁。 如果有一個人在它下面,如果沒有,那么我希望它能夠撞到牆上然后繼續下降。

你在所有的牆上迭代。 如果相交的牆不是列表中的最后一個牆,則后續牆可能會將您的速度重置為1.當您檢測到交叉點時斷開循環。 特別:

if(player_rectangle.intersects(wall_rectangle)) {
    player.yspeed = 0;
    break;

暫無
暫無

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

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