学习LWJGL游戏创作?

时间:2013-06-19 05:07:44

标签: java lwjgl

我想学习LWJGL,但我一直很难找到任何好的教程。

我一直在努力寻找有关创建实际游戏对象的教程。我已经弄清楚如何使用LWJGL的键盘和鼠标功能,并创建了一个黑色窗口。任何链接或代码示例将非常感激。

我意识到我所拥有的并不是很多。

这是我到目前为止所做的:

while(!Display.isCloseRequested())
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        //Render


        if(kh.checkForExit())
        {
            Display.destroy();
            System.exit(0);
        }
        kh.setMAINFRAMEB(true);
        int x = Mouse.getX();
        int y = -Mouse.getY();

        Display.setTitle(new String("Zontreck - Escape to quit - " + x + ", " + y));

        Thread t = new Thread(new Runnable()
        {
            public void run()
            {
                String dat = sh.readSave();
            }
        }
        );

        Display.update();
        Display.sync(60);
    }

(kh)是我的键盘事件处理程序。

(sh)是我的SaveHandler类。

更新:

如何随机生成不同对象的地图?然后,地图也会保存到计算机上的文件中,以便以后播放。如何创建玩家对象(如果是多人游戏)?

1 个答案:

答案 0 :(得分:0)

随机对象:

我认为你需要使用Java的随机数生成器。 首先,您需要确定要在级别中放置多少个对象(因为我们将为随机数生成器设置一个范围)。 但在此之前,您需要将每个对象的绘图放在分开的函数中,如:

public void drawChair() {
   //drawing
}

public void drawTV() {
   //drawing
}

那么,之后,您可以生成一些随机数:

Random r = new Random();
int randomNumber = r.nextInt(100-1) + 1; // we will have 100 objects 

switch(randomNumber) {
    case 1:
        drawChair();
        break;
    case 2:
        drawTV();
        break;
    ...
    case 100: 
        drawSofa();
        break;
}

从现在开始,随着这个小的随机数生成,对象将随机生成。

保存:

为此,请参阅本教程:

 http://youtu.be/7G_xtkvyleM?t=25m3s

玩家对象:

也许我不对,但是你可以轻松地做到这一点,如果你把字符绘图放在一个单独的函数上,比如drawCharacter();所以,如果一个玩家加入,你只需要调用这个drawCharacter();

我希望我帮助你一点,祝你好运LWJGL。