zoukankan      html  css  js  c++  java
  • android游戏开发框架libgdx的使用(七)开发框架总观

    本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。

    上几篇文章介绍了libgdx框架的一些基本类的用法,也夹杂着浏览了一下部分源代码,但是如果使用libgdx进实际开发?

    仅仅了解几个类是不够的,还需要对框架有具体和宏观的了解。

    1.应用的生命周期

    游戏应该高效和稳定,特别是对于android平台。目前的开发都是面向手机和平板。如果有效的管理资源,如何高效的运行都是非常重要的。

    试想一个制作优美,可玩性高的游戏运行于你的android手机上却10秒钟崩溃一次,运行时卡的如同在看漫画,这样的游戏是有合格的吗?

    application_lifecycle_diagram

    Android一般不用管resize(),我们在create中实例化所需的对象,在render()中进行绘制。pause()时可以保持当前的灵活数据。dispose()报销对象。

    而在resume()中根据保持的数据对游戏进行还原。

    其实说不负责一点,dispose()你可以不管,android系统会自动回收一些,用户对于退出后的短暂停滞也是有接受能力的。

    create()你也可以水一些,大不了进入游戏或者初始化相关场景时速度慢一些罢了。

    但是pause()和resume()你必须认真处理。电话是最常见的意外性中断,不会有用户偏爱一个电话就可以让记录或者进度消失的游戏的。

    2.游戏构架

    对于是否该称架构我一直有所疑惑,你可以理解为游戏的组成。一个游戏不论大小,不论复杂程度都应该具有的大致框架。

    架构

    这里稍微解释一下。

    输入只是用户的响应,可以使点击(Touch)或者点击(Click),拖拽(Drag)等。

    输出一般是图片和声音或者影像,当时也有文件或者其他数据(比如网络的存储)。

    而在输入中的文件一般为图片和声音,逻辑由数学逻辑和物理逻辑构成。

    而libgdx对于物理上处理是Box2D的封装,可以满足一般需求了。对于数学的封装了一些常见的结构和少量算式,不过可以基于此开发自己需要的算法。

    libgdx对于图像和声音等文件的处理比较好,可以直接使用。

    3.游戏容器

    最原始的容器自然是Application了。

    图表2

    然后是Game,它管理着若干个Screen,比如游戏场景,积分场景,帮助场景,高分榜场景。而场景之下有着若干舞台,舞台之中是演员。

    写在最后:

    1.对于各周期需要的注意事项基本是我的经验所得,没有明确的科学性。

    2.最近因为参加全国大学生电子商务“创新 创意 创业”挑战赛都没有怎么写东西。周六终于弄完了,得了一等奖和最佳创业奖,还算没有白费时间。接下来等坑爹的西南财经大学信息学院发奖状了,还要准备期末考…

  • 相关阅读:
    python-pyStrich条形码模块
    js原型及原型链解析
    解决Genymotion下载device时较慢的问题
    nodejs实现OAuth2.0授权服务
    Swagger文档添加file上传参数写法
    TypeScript学习笔记之类
    TypeScript学习笔记之接口类型
    win64环境下使用curl命令
    TypeScript学习笔记之基础类型
    WebRTC介绍及简单应用
  • 原文地址:https://www.cnblogs.com/htynkn/p/libgdx_7.html
Copyright © 2011-2022 走看看