将Proclipsing集成到Eclipse Project中,屏幕将不会出现

时间:2015-11-26 02:52:33

标签: java eclipse processing

我有一个项目,就像我希望的那样,它有自己的功能。这是一个关于玩家(一个blob)拾取随机产生的物品的小游戏,试图让他们的“幸福”不会达到0。

我最初是在BlueJ中写的,但是我问了一位擅长编程的朋友给它提供图形。他说虽然swing包可以工作,但在Eclipse中处理它会更好。

我通过Skype在我的计算机上安装了它,将我的所有文件从BlueJ移到Eclipse,然后开始为视觉效果创建一个类来运行它。

这是代码(Map类中的所有变量和函数都在运行):

public void setup()
{
    //int x = gameMap.getXScale()*5 + 5*(xSC+2);
    //int y = gameMap.getYScale()*5 + 5*(ySC+2) + 150;
    gameMap = new Map(MapTypes.treasureRoom(), BlobTypes.trBlob());
    xSC = gameMap.getXScale();
    ySC = gameMap.getYScale();
    sze = 100;
    spc = 5;

    int x = gameMap.getXScale()*5 + 5*(xSC+2);
    int y = gameMap.getYScale()*5 + 5*(ySC+2) + 150;
    size(x,y);
}

public void draw()
{
    int[] rgb = gameMap.getBlob().getRGBVal();
    int r = 204;
    int g = 102;
    int b = 0;
    Node[][] n = gameMap.getMapOfNodes();
    background(0);
    for(int i = 0; i < ySC; i ++){
        for(int j = 0; j < xSC; j++){
            if(n[j][i].getNodeType() == 0){
                r = 128;
                g = 128;
                b = 128;
            }else if(n[j][i].getNodeType() == 1){
                r = rgb[0];
                g = rgb[1];
                b = rgb[2];
            }else if(n[j][i].getNodeType() == 2){
                r = 204;
                g = 153;
                b = 255;
            }else if(n[j][i].getNodeType() == 3){
                r = 0;
                g = 0;
                b = 0;
            }
            rectt(j*10+spc, i*10+spc, sze, sze, 5, r, g, b);
        }
    }

    fill(100);
    rect(50, 50, 100, 100);
}

void rectt(float x, float y, float w, float h, float ra, int r, int b, int g)
{
    fill(r,b,g);
    rect(x, y, w, h, ra);
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
}

它位于Game()extends PApplet内。当我尝试运行它(作为应用程序)时,根本没有显示任何屏幕。我该怎么办?

编辑:Node[][]开头附近的draw()是地图上玩家可以成为的每个点的数组。此外,MapTypesBlobTypes对象只是用于存储不同Map objectsBlob (the player) objects的方法的集合。

1 个答案:

答案 0 :(得分:0)

你没有在主方法类中调用任何东西

public static void main(String[] args) {
// TODO Auto-generated method stub
} 

我无法亲自告诉你你需要从这个课程中调用什么,但它应该是这样的

public static void main(String[] args) {
    ThisClass main = new ThisClass(parameters if any);

    main.setup();
    while(game is not over){
        main.draw();
        update other game logic
       }
}

作为一个注释,你的while循环的一次迭代与一帧相同。因此,您希望每帧完成的所有内容都必须放在此处。