下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何运用JAVA代码制作游戏框架代码?   

作者:课课家教育     来源: http://www.kokojia.com点击数:2281发布时间: 2018-11-25 10:11:52

标签: JAVA游戏设计游戏制作编程语言

大神带你学编程,欢迎选课

  如何制作JAVA游戏框架代码?

  制作游戏框架是制作游戏很重要的一个部分,特别是比较复杂的游戏,最好有一个框架,然后在这个框架进行修改。

  那么,如何制作游戏框架再进行修改呢?

  首先,我们需要一个对照物,你要做一个枪击类的游戏,还是冒险类的游戏呢?

  选择好之后,就在网上寻找框架。那么,我们来做一下冒险类的游戏框架吧。

  第一:在File菜单中选择-New–JavaProject,

  新建一个项目,假设名称是pp,并在里面新建一个类pp.

如何运用JAVA代码制作游戏框架代码? _JAVA游戏设计_游戏制作_编程语言_课课家

  在pp类中代码如下:

import java.awt.*;

import java.awt.event.*;

 

public class pp{

 

    public pp() {

        Frame app = new Frame("DrawBall2");

        //监视关闭窗体事件

        app.addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

  1. exit(0);

            }

        });

        app.setLocation(100, 100);

        MyPanel drawB = new MyPanel(); //实例化MyPanel对象

        app.add(drawB, BorderLayout.CENTER); //在窗体中间显示画版

      

        app.pack();//运行app中的pack方法,动态调整frame的大小,使frame中的组件都可见

        app.setVisible(true);

        drawB.gameStart (); //运行app中的gameStart方法

    }

 

    /**

     * @param args the command line arguments

     */

    public static void main(String[] args) {

        new pp();

    // TODO code application logic here

    }

}

  2.然后,我们新建一个类,类名为MyPanel,代码为:

import java.awt.*;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.image.*;

import java.util.*;

 

public  class MyPanel extends Panel implements Runnable, KeyListener  {

//这里定义变量

    private int x;

    private int y;

    private int dx,dy,direction;

    private int diameter;

    private int width;

    private int height;

    private Image im;

    private Graphics dbg;

 

 

public MyPanel() {

//这里给变量赋初值

        x=50;

        y=50;

        dx=10;

        dy=10;

        diameter=50;

        width=500;

        height=500;

        setPreferredSize(new Dimension(width, height));//设置组件的大小

        

        this.setFocusable(true);//设置焦点

        this.requestFocus();//获取焦点

        this.addKeyListener(this);//添加键盘监听事件

    }

    public void gamePaint() { //前屏绘制

        Graphics g;

        try {

            g = this.getGraphics(); //获取当前屏幕的Graphics对象

            if (g != null && im != null) {

                g.drawImage(im, 0, 0, null);//将图像缓冲区中的内容复制到前屏缓冲区,显示出来

            }

            g.dispose();//释放当前屏幕的Graphics对象

        } catch (Exception e) {

        }

    }

 

    public void gameRender() { //离屏绘制

        if (im == null) {

            im = createImage(width, height);

            if (im == null) {

  1. out.println("im is null");

            } else {

                dbg = im.getGraphics();

            }

        }

        dbg.setColor(Color.WHITE);

        dbg.fillRect(0, 0, width, height);//用底色矩形填充画版,擦去图案

//这里画图

        dbg.setColor(Color.blue);

        dbg.fillOval(x, y, diameter, diameter); //画出椭圆

    }

 

    public void gameUpdate() { //更新游戏逻辑

//这里移动物体坐标和判断物体位置

 

    }

 

    public void keyPressed(KeyEvent e){

    int keycode = e.getKeyCode();

//按向下

    if (keycode ==KeyEvent.VK_DOWN)

    {

          }

//按向上

    if (keycode ==KeyEvent.VK_UP)

{

          }

//按向右

   if (keycode == KeyEvent.VK_RIGHT)

    {

          }

 

//按向左

    if (keycode == KeyEvent.VK_LEFT)

    {

          }

    }

 

    public void keyTyped(KeyEvent e){

    }

    public void keyReleased(KeyEvent e){

    }

    public void run() {

        while(true){

        gameUpdate();

            gameRender();

            gamePaint();

        //以下我们用一个延时函数代替空循环来延时,sleep(10)中的数字代表延时毫秒,数字越小越快

        try {

  1. sleep(10);} //括号里面的10代表10毫秒,也就是0.001秒,可以该成你需要的时间

        catch (InterruptedException e) {

           e.printStackTrace();}          

        }

   }

 

        public void gameStart(){

        Thread gamethread = new Thread(this);

        gamethread.start();

   }

}

其实,这个就是我们需要制作的游戏框架,类型为冒险类的,很简单的一款游戏,可是却被称为世界上最难的游戏,那么它的框架是怎样的呢?我们可以根据上面的代码进行修改。感谢大家的支持。

  小编结语:其实,这个就是我们需要制作的游戏框架,类型为冒险类的,很简单的一款游戏,可是却被称为世界上最难的游戏,那么它的框架是怎样的呢?我们可以根据上面的代码进行修改。感谢大家的支持。

赞(891)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程