毫无疑问,2012年将是框架年。Roger Engelbert在他的博客rengelbert.com展示给我们如何做一个移动版的青蛙过河游戏,使用四个不同的框架:Starling,Sparrow, cocos2d和LibGDX。
这是在实验中涉及的游戏:
[flash]http://www.emanueleferonato.com/wp-content/uploads/2012/01/FroggerAS3.swf[/flash]
(注意:因为原帖中wmode="direct"才能观看swf,所以建议到原帖观看swf)
使用箭头键键移动青蛙,或点击游戏右下角的青蛙控制器。
这里是一个由Roger提供的简单介绍:
我将首先解释一些游戏的逻辑控制。非常重要是,逻辑本身与框架无关。框架的大部分,仅影响视图部分的逻辑:屏幕上的纹理真实渲染代替所有区块对象的逻辑处理。
所以这些教程并不意味着是关于如何建立一个像青蛙过河游戏,而是如何摆放东西在屏幕上。
尽管如此,我想我还是尽可能解释游戏逻辑,以便于,你可以区分逻辑和实际框架代码。
游戏引擎
引擎管理一系列的屏幕对象,但一次只显示一个屏幕。所以,你可以建立一个简介屏幕,一个如何游戏屏幕,一个高分屏幕,一个游戏屏幕...然后,引擎在一个循环中更新当前显示的屏幕对象。
对于这个例子,我创建了两个屏幕,一个叫一个MenuScreen显示了如何玩游戏的说明,和一个称为GameScreen实际游戏运行的屏幕。
主要游戏的对象包含公开引用GameData,TextureAtlas和声音。在游戏中的每个对象接收到一个游戏对象的引用。我决定使用构造和单例。
控制器
对于Flash版本的游戏中,我将使用两套控制器:按键和鼠标点击。稍后,移植到移动设备时,我就会放弃键盘输入的逻辑,只是保留触摸事件。
游戏逻辑
游戏的逻辑很简单。屏幕划分成13行,我叫他们为Tiers(层)。每一层有一堆sprites,他们可以是车,或龟或树。
青蛙sprite,由玩家控制, Y位置只有13个可能的值,和一个Tier值。因此,每向上或向下移动Y值玩家变更到下一层或前一层。
碰撞只属于青蛙所在层。
每一层的责任是,更新它包含的sprites的位置。
skin(皮肤)属性
正如我早先谈到的,使用不同的框架将负责游戏中使用的Sprites的皮肤属性,以及皮肤可能使用的各种纹理对象(如果加入它是动画)。在这里,可以找到框架逻辑和语法。
尽管如此,当我更新sprites在游戏中的位置时,我通过包装,而不是直接用Image对象。这看起来可能对你像额外的工作,你可以自由修改这些。我只是觉得这种方式是最容易的,把同样的逻辑移植到不同的平台上,我只需要改变逻辑控制皮肤渲染。
现在,你已经准备好了看一个我见过的最有趣的教程。
http://www.rengelbert.com/tutorial.php?id=163 (using Starling)
http://www.rengelbert.com/tutorial.php?id=167 (using Sparrow)
http://www.rengelbert.com/tutorial.php?id=171 (using Cocos2D)
http://www.rengelbert.com/tutorial.php?id=175 (using LibGDX)
我期待着播放和展示关于框架的内容,并发表我的想法
分享到:
相关推荐
空战游戏通常需要处理复杂的图形渲染、物理模拟以及实时交互,因此选择一个强大的游戏引擎或框架至关重要。 首先,我们来谈谈Android游戏框架。Android游戏框架提供了一套工具和库,简化了游戏开发过程,允许开发者...
本文将深入探讨如何使用VC++6.0构建一个基于BMP图像格式的游戏框架,并讨论相关技术要点。 **1. VC++6.0简介** Microsoft Visual C++ 6.0是微软公司推出的一款经典C++集成开发环境,虽然现在已经有些过时,但因其...
本文将深入探讨一款名为"雷电游戏框架"的项目,它是一个基于MVC(Model-View-Controller)架构设计的游戏框架,已初具规模并包含了3个完整的关卡。对于那些寻求高效、结构化游戏开发解决方案的Android开发者来说,这...
本文将深入探讨一个由个人开发者制作的Android游戏框架——ZGF(假设全称为“Zero Gravity Framework”)。ZGF旨在为开发者提供一个简单易用、功能全面的游戏开发环境,它融合了Java语言的优势,同时也考虑到了...
《Lua游戏服务器框架开源源码——crossover深度解析...总的来说,crossover为游戏服务器开发提供了一个高效、易用的平台,通过深入理解和熟练运用,我们可以构建出稳定、高性能的游戏服务,为玩家带来流畅的游戏体验。
本资源“j2me 手机游戏 通用框架(非常强大).rar”提供了一个强大的通用框架,旨在简化J2ME手机游戏的开发流程,提高开发效率和游戏性能。 J2ME手机游戏通用框架的核心特点: 1. **跨平台兼容性**:J2ME的可移植性...
2. **入门示例**:通过一个简单的2D游戏项目演示如何使用此框架进行游戏开发。 3. **进阶技巧**:深入探讨如何利用框架提供的特性来实现更复杂的功能。 4. **常见问题解答**:列举在使用过程中可能遇到的问题,并给...
### 宝开游戏框架(PopCap Game Framework)详解 #### 一、概述 宝开游戏框架(PopCap Game Framework),也被称为Sexy App ...对于那些希望快速构建高质量游戏的开发者来说,宝开游戏框架无疑是一个极具价值的工具。
OGRE 3D 是一个强大的开源3D图形引擎,它为游戏开发、模拟软件以及其他需要高性能3D图形的应用提供了一个灵活且高效的框架。这个压缩包文件"OGRE 3D 游戏开发框架指南+光盘代码.rar"包含了关于如何使用OGRE 3D进行...
总之,Android游戏开发中的View框架是一个综合性的主题,涵盖了图形绘制、事件处理、布局设计、动画制作和性能优化等多个方面。掌握好这些知识点,能够帮助开发者构建出高性能、富有吸引力的Android游戏。
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,而QuarkJS就是专为利用这个特性开发游戏而设计的一个JavaScript框架。QuarkJS旨在简化HTML5 Canvas的游戏开发过程,提供丰富的功能...
白鹭引擎(Egret Engine)是这套框架的核心,它提供了一整套解决方案,包括游戏开发、调试、预览、优化等多个环节,使得开发者能够快速构建高质量的H5游戏。 一、白鹭引擎 白鹭引擎是基于TypeScript语言开发的开源...
而braingdx则是建立在libgdx基础上的一个专为游戏Jam活动设计的框架,它简化了游戏开发过程,提高了开发效率。本文将深入探讨braingdx框架的核心特性和使用方法。 一、libgdx简介 libgdx是Java语言的开源游戏开发...
在编程领域,Qt是一个广泛使用的跨平台应用程序开发框架,它由Qt Company提供,支持多种操作系统,包括Windows、Linux、macOS等。2048是一款非常流行的数字拼图游戏,由Gabriele Cirulli在2014年创建。这款游戏的...
在【压缩包子文件的文件名称列表】中,“一个游戏BBS论坛系统_28标准的struts2+hibernate+spring三大框架”可能包含了源代码、配置文件、数据库脚本等资源,帮助开发者理解并部署这个论坛系统。学习这个项目,开发者...
Leaf Server是基于Go语言开发的游戏服务器框架,其设计目标是为游戏开发者提供一个稳定、高效、易用的后端解决方案。框架集成了常见的游戏服务器功能,如网络通信、游戏逻辑处理、数据持久化等,并且支持多种数据库...
Unity引擎是全球范围内广泛使用的游戏开发平台,而GameFramework则是专为Unity设计的一款高效的游戏开发框架。这个框架在Unity 5.3的基础上,针对游戏开发中的常见需求进行了深度封装,旨在提升开发效率,规范开发...
LGame是一个开源项目,旨在简化安卓游戏的开发流程,提供一套完整的游戏开发工具和API,使得开发者无需深入理解底层硬件细节,也能高效地编写游戏代码。LGame框架包含了游戏循环、事件处理、音频管理、物理模拟等...
此外,Unity3D还内置了一个Asset Store,用户可以在其中找到各种模型、纹理图等素材。 Unity3D支持多种平台,包括但不限于Android、iOS、Samsung TV等,共计14种平台。这使得开发者可以方便地将其作品发布到多个...