package com.huanxi.core.hxgame;
import com.huanxi.birdgame.gameobject.Column;
import com.huanxi.birdgame.gameobject.Columns;
import com.huanxi.core.filter.controllerfilter.GameController;
import com.huanxi.core.filter.renderfilter.GameRender;
import com.huanxi.core.rocker.GameRocker;
import com.huanxi.core.util.Constant;
/**
* HX全局游戏引擎(单例)
*/
public class HXGame {
private int MAIN_FORM_WIDTH = 0;
public static int game_status = Constant.GAME_STATUS_READY;
private static HXGame hxGame;
public static final int sleep_time = 1; //睡眠时间
public static int FPS; //每秒刷新次数
public static int times = 0; //游戏开始运行次数
public static int time = 0; //游戏开始运行毫秒数
private GameFrame gameFrame;
private GamePanel gamePanel;
private GameRender gameRender;
private GameController gameController;
private String title;
private HXGame() {
//初始化游戏窗体
gameFrame = new GameFrame();
}
public void init() {
// TODO Auto-generated method stub
gameFrame.init();
game_status = Constant.GAME_STATUS_RUN;
//初始化渲染表
gameRender = new GameRender();
//初始化控制器
gameController = new GameController();
//初始化游戏画板
gamePanel = GamePanel.createGamePanel(gameRender, gameController);
gameFrame.setPanel(gamePanel);
}
public void start() {
gameFrame.setVisible(true);
//启动渲染线程
gamePanel.start();
startCountTime();
startComputerFPS();
}
private void startComputerFPS() {
new Thread() {
@Override
public void run() {
while (true) {
int times = hxGame.times;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
FPS = hxGame.times - times;
}
}
}.start();
}
//开始计算计时
public void startCountTime() {
new Thread() {
@Override
public void run() {
while (true) {
int times = hxGame.times;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
time += 10;
}
}
}.start();
}
//添加游戏物体
public void addGameObject(GameObject gameObject) {
gameController.addGameObject(gameObject);
gameRender.addGameObject(gameObject);
GameRocker.getGameRocker().addGameObject(gameObject);
}
public void addColumns(Columns columns) {
hxGame.addGameObject(columns);
for (Column column:columns.getColumnList()) {
hxGame.addGameObject(column);
}
hxGame.addGameObject(columns.getStart());
hxGame.addGameObject(columns.getEnd());
}
public int getGame_status() {
return game_status;
}
public void setGame_status(int game_status) {
this.game_status = game_status;
}
public static HXGame getHxGame() {
if (hxGame == null)
hxGame = new HXGame();
return hxGame;
}
public GameFrame getGameFrame() {
return gameFrame;
}
public void setGameFrame(GameFrame gameFrame) {
this.gameFrame = gameFrame;
}
public GamePanel getGamePanel() {
return gamePanel;
}
public void setGamePanel(GamePanel gamePanel) {
this.gamePanel = gamePanel;
}
public GameRender getGameRender() {
return gameRender;
}
public void setGameRender(GameRender gameRender) {
this.gameRender = gameRender;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public GameController getGameController() {
return gameController;
}
public void setGameController(GameController gameController) {
this.gameController = gameController;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎java 封装游戏引擎 java 封装游戏引擎java 封装游戏引擎ja
资源推荐
资源详情
资源评论
收起资源包目录
java 封装游戏引擎.zip (93个子文件)
project_code_20719
.classpath 593B
.settings
org.eclipse.jdt.core.prefs 238B
org.eclipse.m2e.core.prefs 86B
pom.xml 1KB
src
main
main.iml 515B
resources
images
f2.png 21KB
ground.png 42KB
f3.png 20KB
10.png 14KB
9.png 14KB
3.png 13KB
za3.png 44KB
0.png 15KB
cw4.png 14KB
g_start.png 25KB
f0.png 22KB
1.png 14KB
cw2.png 14KB
ready.png 52KB
cw3.png 14KB
za0.png 47KB
11.png 14KB
6.png 14KB
cw5.png 14KB
za2.png 41KB
cw1.png 13KB
f1.png 20KB
bg.png 231KB
g_end.png 19KB
5.png 14KB
4.png 13KB
8.png 13KB
cw6.png 13KB
cw0.png 14KB
f4.png 18KB
7.png 14KB
2.png 13KB
end.jpg 76KB
za1.png 44KB
sound
0.mp3 6KB
jelly.mp3 8KB
bg.mp3 491KB
java
com
huanxi
birdgame
BirdGame.java 2KB
gameobject
Column.java 990B
Text.java 528B
BackGround.java 594B
Ground.java 1KB
Za.java 1KB
Player2.java 4KB
Columns.java 2KB
GameStatus.java 2KB
Player.java 4KB
core
others
OldTime.java 218B
hxgame
GameFrame.java 1KB
Animation.java 507B
GameObject.java 696B
GamePanel.java 2KB
HXGame.java 4KB
filter
renderfilter
RenderFilter.java 260B
boxfilter
GameObjectRender.java 662B
GameRender.java 902B
controllerfilter
GameController.java 2KB
boxfilter
collisionbox
collisiont
CollisionBox.java 234B
CollisionBoxer.java 696B
Collision.java 419B
CollisionControllerFilter.java 2KB
movementbox
MovementControllerFilter.java 794B
MovementBoxer.java 605B
MovementBox.java 218B
Movement.java 2KB
GameObjectController.java 688B
ControllerBox.java 87B
ControllerFilter.java 182B
rocker
GameRocker.java 916B
Rocker.java 89B
MouseRocker.java 81B
SpaceRocker.java 81B
util
MP3Player.java 558B
TimeUtil.java 751B
Util.java 193B
Constant.java 202B
RenderUtil.java 425B
ImageUtil.java 398B
Main.java 805B
.idea
.name 9B
uiDesigner.xml 9KB
vcs.xml 180B
workspace.xml 43KB
misc.xml 542B
compiler.xml 618B
encodings.xml 138B
birdgame.iml 81B
.project 537B
共 93 条
- 1
资源评论
土豆片片
- 粉丝: 1516
- 资源: 5642
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功