java游戏开发包_LWJGL

软件简介

LWJGL(Lightweight Java Game

Library)它可以帮助Java程序员开发有着商业性质的游戏.LWJGL为开发者提供简单易用的API来访问OpenGL (Open Graphics

Library)与OpenAL (Open Audio Library) 同也提供操作控制器(Gamepads, Steering

wheel和操纵杆)的API.

示例代码:

import org.lwjgl.Sys;

import org.lwjgl.opengl.*;

import org.lwjgl.system.glfw.*;

import java.nio.ByteBuffer;

import static org.lwjgl.opengl.GL11.*;

import static org.lwjgl.system.MemoryUtil.*;

import static org.lwjgl.system.glfw.GLFW.*;

public class HelloWorld {

private long window;

public void execute() {

System.out.println("Hello LWJGL " + Sys.getVersion() + "!");

try {

init();

loop();

glfwDestroyWindow(window);

} finally {

glfwTerminate();

}

}

private void init() {

glfwSetErrorCallback(ErrorCallback.Util.getDefault());

if ( glfwInit() != GL11.GL_TRUE )

throw new IllegalStateException("Unable to initialize GLFW");

glfwDefaultWindowHints();

glfwWindowHint(GLFW_VISIBLE, GL_FALSE);

glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);

int WIDTH = 300;

int HEIGHT = 300;

window = glfwCreateWindow(WIDTH, HEIGHT, "Hello World!", NULL, NULL);

if ( window == NULL )

throw new RuntimeException("Failed to create the GLFW window");

WindowCallback.set(window, new WindowCallbackAdapter() {

@Override

public void key(long window, int key, int scancode, int action, int mods) {

if ( key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE )

glfwSetWindowShouldClose(window, GL_TRUE);

}

});

ByteBuffer vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor());

glfwSetWindowPos(

window,

(GLFWvidmode.width(vidmode) - WIDTH) / 2,

(GLFWvidmode.height(vidmode) - HEIGHT) / 2

);

glfwMakeContextCurrent(window);

glfwSwapInterval(1);

glfwShowWindow(window);

}

private void loop() {

GLContext.createFromCurrent();

glClearColor(1.0f, 0.0f, 0.0f, 0.0f);

while ( glfwWindowShouldClose(window) == GL_FALSE ) {

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glfwSwapBuffers(window);

glfwPollEvents();

}

}

public static void main(String[] args) {

new HelloWorld().execute();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值