RPG游戏引擎制作——框架篇
2008-02-23 10:07:38来源:互联网 阅读 ()
public void run() {
long startTime = 0;
long interval = 1000 / this.m_nFramePerSecond;
long endTime = 0;
long lagTime = 0;
this.showState(KGameState.MD_COVER); //初始化为第一个状态
Thread currentThread = Thread.currentThread();
while (true && currentThread == Thread.currentThread()) {
startTime = System.currentTimeMillis();
this.keyAction();
this.gameAction();
if (this.m_bRepaint)this.flushGraphics();
endTime = System.currentTimeMillis();
if ((lagTime = endTime - startTime) < interval) {
try {
Thread.currentThread().sleep(interval - lagTime);
} catch (Exception e) {
e.printStackTrace();
}
} else {
Thread.currentThread().yield();
}
if (this.m_bAbort)break;
}
}PS:keyAction()进行按键处理,如果有些手机不支持软件可以通过command进行转化。
gameAction()进行游戏本身的逻辑操作,这些操作应当属于游戏系统本身,不属于用户的交互产生;
flushGraphics()进行界面重绘。开发人员应当在需要的时候让m_bRepaint为true进行重绘。
游戏因为不同的功能被分为不同的游戏状态,所以需要一个状态机来控制游戏状态的转化,这个状态机要实现的功能有:设置当前状态、取得当前状态、取得前一个状态、保存游戏状态、加载游戏状态。还有转到某个状态的初始化操作(showState())。这样一个游戏框架就建立起来了。
上一篇: tomcat 5.02 增加虚拟目录
下一篇: jbpm2.0中swimlane ,actorid,role在实际项目的演绎:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash