Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
RPG游戏引擎制作——框架篇

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

一个完整的RPG游戏由角色、AI、道具、地图等基本元素组成,目前的RPG游戏种类繁多,但一样是相同的那就是游戏的框架,当一个游戏的框架确定以后,这个游戏的制作思路就会显得很清晰了。下面我给出一个游戏的核心操作:
 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())。这样一个游戏框架就建立起来了。



相关文章

相关软件