关于J2ME游戏程序的结构

yezersky 2009-03-23 10:51:09
不知道大家都是怎么安排J2ME游戏程序的结构的,想学习一下……
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
愤怒的大闸蟹 2009-03-29
  • 打赏
  • 举报
回复
没有固定的结构,不同类型的游戏采用的结构都有所不同。

所有的结构的都是为了代码清晰、添加删除功能方便服务的,只要你的结构能达到这两条标准要求,就是一个好的结构
mengmengyq 2009-03-27
  • 打赏
  • 举报
回复
主要还是分清状态,每个状态分为游戏逻辑和游戏绘图,
大体如下。。。
while(true)
{
gameLogic();
gamePaint();
sleep(80);
}
prince58 2009-03-24
  • 打赏
  • 举报
回复
1000毫秒/20帧 = 50毫秒/帧

一个手机游戏一般跑到12帧每秒,在手机上看起来就很流畅了。

代码:

public void run()
{
.....
while (_bRunning)
{
.....
m_Timer = System.currentTimeMillis();

repaint();

long delta;
do
{
delta = System.currentTimeMillis() - m_Timer;
Thread.yield();
} while (delta >= 0 && delta < (1000/20));
......
}

......
}
prince58 2009-03-24
  • 打赏
  • 举报
回复
50-80毫秒循环一次。
wormwormwormworm 2009-03-23
  • 打赏
  • 举报
回复
up
cccloveyf 2009-03-23
  • 打赏
  • 举报
回复
一般视频游戏是个大循环,循环里接受输入,更新画面。
cccloveyf 2009-03-23
  • 打赏
  • 举报
回复
类似于这样的代码

// 从后备屏幕缓冲获得Graphics 对象
Graphics g = getGraphics();
while (true) {
// 检查用户输入并更新位置,如果有需要
int keyState = getKeyStates();
if ((keyState & LEFT_PRESSED) != 0) {
sprite.move(-1, 0);
} else if ((keyState & RIGHT_PRESSED) != 0) {
sprite.move(1, 0);
}

// 将背景清除成白色
g.setColor(0xFFFFFF);
g.fillRect(0,0,getWidth(), getHeight());

// 绘制Sprite(精灵)
sprite.paint(g);
// 输出后备缓冲区的内容
flushGraphics();
}

不过还是需要具体游戏具体分析,没法一概而论。
yezersky 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cccloveyf 的回复:]
一般视频游戏是个大循环,循环里接受输入,更新画面。
[/Quote]

能详细点嘛?

13,102

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧