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
,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
归一化技术比较研究:Batch Norm, Layer Norm, Group Norm
本文将使用合成数据集对三种归一化技术进行比较,并在每种配置下分别训练模型。记录训练损失,并比较模型的性能。
1053 2
|
网络安全
关于中国蚁剑和中国菜刀安装过程中的问题总结和解决方法
关于中国蚁剑和中国菜刀安装过程中的问题总结和解决方法
506 3
|
12月前
|
数据采集 分布式计算 大数据
Pandas数据清洗:缺失值处理
本文详细介绍了Pandas库中处理缺失值的方法,包括检测缺失值、删除缺失值、填充缺失值和插值法填充缺失值。通过基础概念和代码示例,帮助读者理解和解决数据清洗中常见的缺失值问题。
765 80
|
机器学习/深度学习 算法 Java
【专栏】理解各种范式的优缺点对开发者适应技术环境和解决问题至关重要。
【4月更文挑战第27天】本文探讨了两种主要编程范式——面向对象编程(OOP)和函数式编程(FP)。OOP通过对象和类实现软件设计,强调封装、继承和多态,但过度继承可能导致复杂性。FP基于数学函数,注重无副作用和不可变性,提供高阶函数等特性,简化并发处理,但学习曲线较陡峭。选择编程范式应考虑项目需求和技术背景,现代语言趋向融合多种范式,如Java和Scala。理解各种范式的优缺点对开发者适应技术环境和解决问题至关重要。
308 2
|
12月前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名B2B电商平台,为企业提供丰富的商品信息和交易机会。随着电商发展,企业对数据需求增长,高效获取与利用数据成为提升竞争力的关键。1688榜单商品详细信息API接口应运而生,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,显著提高运营效率、优化库存管理、提升个性化推荐精准度,并助力制定更有效的市场策略,降低采购成本,最终提升客户满意度,推动企业可持续发展。
293 3
|
Linux Windows
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x80370114Err
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x80370114Err
4010 3
|
开发框架 前端开发 JavaScript
【Azure App Service】.NET应用读取静态文件时遇见了404错误的解决方法
【Azure App Service】.NET应用读取静态文件时遇见了404错误的解决方法
189 0
引用 AspNetCoreRateLimit => StatusCode cannot be set because the response has already started.
引用 AspNetCoreRateLimit => StatusCode cannot be set because the response has already started.
307 0
|
人工智能 搜索推荐 物联网
高通正式推出高通AI Hub,支持超过75款AI大模型
【2月更文挑战第9天】高通正式推出高通AI Hub,支持超过75款AI大模型
623 2
高通正式推出高通AI Hub,支持超过75款AI大模型
|
JavaScript Linux Shell
nodejs安装和环境配置-Linux(2024)
nodejs安装和环境配置-Linux
475 0
nodejs安装和环境配置-Linux(2024)

热门文章

最新文章