簡體   English   中英

我需要某種用於Android的剛體碰撞檢測引擎

[英]I need some sort of rigid body collision detection engine for Android

我試圖使自己的作品在Android上運行,但失敗了。 我指的是剛體碰撞檢測,基本上就是有一堵牆,玩家一碰到牆,它就無法通過。 我嘗試使用Box2D,Emini Engine,PPhys2D,Phys2D,或者它們沒有足夠的教程,或者它們確實很復雜。 我將其編寫為用於普通Java游戲:

//package
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DCDE {
int plx, ply, obx, oby, obw, obh, plw, plh;
Rectangle north;
Rectangle east;
Rectangle south;
Rectangle west;
boolean debug=true;
public void debug(Graphics g)
{
    Graphics2D g2 = (Graphics2D)g;
    if(debug)
    {
        if(!(north==null)&&!(east==null)&&!(south==null)&&!(west==null)){
            g2.setColor(Color.YELLOW);
            g2.draw(north);
            g2.draw(east);
            g2.draw(south);
            g2.draw(west);
            g2.fill(north);
            g2.fill(east);
            g2.fill(south);
            g2.fill(west);
        }
    }
}
public void detect(int plxj, int plyj, int obxj, int obyj, int obwj, int obhj, int plwj, int plhj)
{
    plx=plxj;
    ply=plyj;
    obx=obxj;
    oby=obyj;
    obw=obwj;
    obh=obhj;
    plw=plwj;
    plh=plhj;
    Rectangle playr = new Rectangle(plx, ply, plw, plh);
    Rectangle objr = new Rectangle(obx, oby, obw, obh);
    north = new Rectangle((obx), (oby-1), obw, 1);
    east = new Rectangle((obx+obw), (oby), 1, obh);
    south = new Rectangle((obx), (oby+obh)+1, obw, 1);
    west = new Rectangle((obx-1), oby, 1, obh);
    if(playr.intersects(north)){
        ply=(oby-plh-1);
        if(debug)System.out.println("NORTH");
    }
    if(playr.intersects(east)){
        plx=(obx+obw+1);
        if(debug)System.out.println("EAST");
    }
    if(playr.intersects(south)){
        ply=(oby+obh+1);
        if(debug)System.out.println("SOUTH");
    }
    if(playr.intersects(west)){
        plx=(obx-plw-1);
        if(debug)System.out.println("WEST");
    }
}
}

在我制作的計算機Java游戲上,此方法效果很好,但現在我需要類似上面的內容,但適用於android。 那么,有沒有只是為了碰撞檢測而制造的某種引擎,而不是整個重力的東西,還是有一些我可以使用的簡單數學方法?

提前致謝。

為什么不只使用已經可以在android上運行的圖形引擎,例如UnityAndEngine 我是他們已經內置了一些東西以及許多其他好東西。

暫無
暫無

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

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