libgdx游戏引擎开发笔记(一)引擎介绍和Helloworld

简介:

   做Android快一年了,项目也做了四五个,感觉没什么动力向前,思绪整理了一段时间,决定转入Android游戏开发,同时发现了一款强大的游戏引擎libgdx,在此边学边整理,好记性不如烂笔头嘛!

1.libgdx简介

    libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。ibgdx兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统,最近加入了对html5的支持)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。Libgdx以native方式自带图像解码器,通过其提供的Pixmap可以对指定图像进行像素级渲染操作,从而不依赖Android的Bitmap加载处理图像,可以支持png、jpg、bmp,最近的两个版本中加入了对gif图片的支持(如果要做大量动画的话,gif图片可以保证在图片质量降低不了太多的情况下成倍地缩小,这点大家都懂的)。

   Libgdx由audio、files、graphics、math、physics、scenes、utils这些主要类库所组成,它们分别对应了Libgdx中的音频操作,文件读取,2D/3D渲染,Libgdx绘图相关运算,Box2D封装,2D/3D游戏组件(3D部分目前无组件),以及Libgdx内置工具类。

  至于环境搭建,在此不再赘述,网上一大堆的哦! 大家可以去http://code.google.com/p/libgdx/下载最新的libgdx ,本文使用的libgdx是0.98版本


2.主要类的介绍

   2.1ApplicationListener

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public  class  MyGame  implements  ApplicationListener {
         public  void  create () {
                 // STUB
         }
         public  void  render () {
                 // STUB
         }
         public  void  resize ( int  width,  int  height) {
                 // STUB
         }
         public  void  pause () {
                 // STUB
         }
         public  void  resume () {
                 // STUB
         }
         public  void  dispose () {
                 // STUB
         }
}

    ApplicationListener是一个接口,实现了这个接口的类都有一个共同的特点,它们都会经历一个创建,渲染(render),暂停,继续,销毁等一系列过程,发生对应时间的时候会自用调用相应的函数。特别是render()函数,它是一个系统在不停调用的函数(当然这个实例满足正在运行的条件),因此我们可以把很多操作放在render()函数中实现,不过千万注意不要进行耗时的操作以免堵塞UI线程。

 生命周期:

   主要方法:

   2.2AndroidApplication

1
2
3
4
5
6
7
public   class  LibgdxActivity  extends   AndroidApplication {
     @Override
     public  void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         initialize( new  MyGame(),  false );
     }
}

AndroidApplication继承自API中的Activity,因此我们使用它也需要在Manifest中注册,至于initialize(new  MyGame (), false);第一个参数是一个实现了ApplicationApplication接口的类的实例,第二个参数如果设为true,则在opengl 2.0可用的情况下会使用opengl 2.0。

这样,我们的第一个libgdx的HelloWord就成功了,仅仅是个黑屏。。。






     本文转自zhf651555765 51CTO博客,原文链接: http://blog.51cto.com/smallwoniu/1254948
,如需转载请自行联系原作者


相关文章
|
2月前
|
存储 开发框架 Java
libgdx ashley框架的讲解
本文介绍了libgdx游戏开发框架中的Ashley实体系统,包括如何引入依赖、创建实体、添加组件和系统,并通过代码示例演示了如何使用PooledEngine、Component、EntitySystem等核心类来构建游戏逻辑。
23 1
|
4月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
328 0
|
7月前
|
前端开发 JavaScript Go
Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo
Wails 框架提供了一种简洁而强大的方式,让开发者能够利用 Go 的性能优势和 Web 前端的灵活性,从而能够使用更高效、更轻量级的方法来构建跨平台的桌面应用。本文探讨 Wails 框架的使用,从搭建环境到开发,再到最终的构建打包。
238 1
Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo
|
7月前
|
Dart 对象存储 Android开发
带你阅读 Flutter Demo(flutter 保姆级入门教程)
带你阅读 Flutter Demo(flutter 保姆级入门教程)
755 0
|
前端开发 C# 图形学
unity入门必备的案例2.0
unity入门必备的案例你还不知道?
109 0
|
前端开发 C# 图形学
unity入门必备的案例你还不知道?
unity入门必备的案例你还不知道?
164 0
|
定位技术
从0开发游戏引擎之 序言(引擎内主要模块)
从0开发游戏引擎之 序言(引擎内主要模块)
|
算法 图形学
Unity 开发入门指南
学习 Unity 开发接近一年了,从开始对 Unity 一无所知,到现在能模仿制作出一个完整游戏,对个人成长来说,也算是一个不大不小的里程碑。这篇是对自己学习的总结与回顾,希望对 Unity 初学者有所帮助。
1322 0
下一篇
无影云桌面