OpenlGL游戏编程-简单的机器人制作(一)
来源:互联网 发布:淘宝靠谱ipad二手店铺 编辑:程序博客网 时间:2024/05/22 04:36
OpenlGL游戏编程-简单的机器人制作(一)
!注意本教程是基于java的,我会在这里从创建java项目一步一步的写。(java版本为java8)
开场
首先创建一个GameGLEventListener来实现GLEventListener接口,在java里,想要实现一个接口,需要知道implements这个关键字,定义如下
package main;import com.jogamp.opengl.GLAutoDrawable;import com.jogamp.opengl.GLEventListener;public class GameGLEventListener implements GLEventListener{ @Override public void init(GLAutoDrawable glad) { } @Override public void dispose(GLAutoDrawable glad) { } @Override public void display(GLAutoDrawable glad) { } @Override public void reshape(GLAutoDrawable glad, int x, int y, int width, int height) { }}
接着让我们创建一个基于swing编程的窗口吧,不懂swing也没有关系,就是一个java的类库。
1.我们首先要知道JFrame类,这是一个窗口类,我们定义一个他的派生类(子类),我们把他取名为GameJFrame,在java里,想要继承一个类,需要知道extends关键字,具体定义如下:
package main;import javax.swing.JFrame;public class GameJFrame extends JFrame{}
2.那怎么实现swing和opengl结合呢?我们要知道实现opengl需要有GLProfile,GLCapabilities,GLJPanel(JPanel的子类),那我们需要把GameFrame类的定义改成如下形式:
package main;import com.jogamp.opengl.GLCapabilities;import com.jogamp.opengl.GLProfile;import com.jogamp.opengl.awt.GLJPanel;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;public class GameJFrame extends JFrame { GLProfile profile; GLCapabilities capabilities; GLJPanel panel; GameGLEventListener gameGLEventListener; public GameJFrame(String name,int x, int y,int width,int height){ this.setTitle(name); this.setLayout(null); this.setBounds(x, y, width, height); profile = GLProfile.get(GLProfile.GL2); capabilities = new GLCapabilities(profile); gameGLEventListener = new GameGLEventListener(); panel = new GLJPanel(capabilities); panel.addGLEventListener(gameGLEventListener); this.setContentPane(panel); this.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); } public void start(){ this.setVisible(true); }}
3.主函数实现,代码如下
package main;public class Main { public static void main(String[] args) { GameJFrame frame = new GameJFrame("Opengl游戏编程",0,0,500,500); frame.start(); }}
收场
4.实现后如图所示:
0 0
- OpenlGL游戏编程-简单的机器人制作(一)
- OpenlGL游戏编程-简单的机器人制作(二)
- OpenlGL游戏编程-简单的机器人制作(三)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
- 机器人制作入门(一)----前言
- 游戏编程笔记-起步(一)一个简单的游戏-贪吃蛇
- Flash制作简单塔防游戏(一)
- 简单匹配游戏的制作
- 制作简单的HMTL5游戏
- 简单的扫雷游戏制作
- 游戏制作心得(一)
- 天气预报的简单制作(一)
- 从零开始微信机器人(三):表情机器人的制作
- 利用tensorflow制作一个简单的聊天机器人
- TensorFlow练习13: 制作一个简单的聊天机器人
- 用ROS制作我们的机器人小车(一): URDF简介
- 机器人AI的制作
- 一个简单的扑克牌游戏(一)
- 多线程编程入门(11):Callable和Future
- iOS 图文混排,UITableView实现图文混排 —— HERO博客
- spark【例子】单词计算(wordcount) 词频排序(TopK)
- Python的前世今生
- 高速电路中的复位设计
- OpenlGL游戏编程-简单的机器人制作(一)
- 【LeetCode】 036. Valid Sudoku
- 拯救行动(变种bfs)
- App Widgets的使用
- playframework session 原理
- Linux 下关闭防火墙设置
- 正则表达式学习
- android学习:《超级课程表》的课表界面设计
- socket模拟http发送请求