• 周五. 4 月 24th, 2026

物嫩软件资讯网

软件资讯来物嫩

[OpenGL]图形学课程设计:二维射击游戏

admin@wunen

4 月 20, 2025

实验名称:二维射击游戏

实验要求:

  1. 绘制出子弹模型
  2. 按左右键可以调整在水平方向的位置
  3. 窗口中有一蓝色正方形在窗口内移动
  4. 按空格键进行射击
  5. 子弹沿y轴方向射出,如击中正方形,则正方形变为红色。

实验步骤:方向键移动我军,空格键发射炮弹

实验缺陷:未能实现一边移动一边打炮的良好体验

实验截图:

项目源码(共分为4个头文件和4个源文件):

Bullet.h,子弹对象的封装类:

#include <Windows.h>
#include <gl\glut.h>
#include <stdio.h>  


class Bullet
{
public:
	Bullet(int x,int y);
	~Bullet(void);
	void move();

public:
	GLfloat x;
	GLfloat y;
	GLfloat width;
	GLfloat height;

	GLfloat speed;
};

Main.h,定义了几个窗口数据

#define WIN_WIDTH 500
#define WIN_HEIGHT 500

#define VIEW_WIDTH 500
#define VIEW_HEIGHT 500

Scene.h,场景对象的封装类,用来绘制其他对象:

#include <Windows.h>
#include <gl\glut.h>
#include <stdio.h>  
#include <math.h>
#include <list>
#include "Bullet.h"
#include "Worm.h"


#define BOX_WIDTH 10
#define BOX_HEIGHT 10

using namespace std;

class Scene
{
public:
	Scene(void);
	~Scene(void);
	void drawBu

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注