2D game engine essentials

All 2D Game Engines/Frameworks are trying to solve the same problems. Thus, the languages don‘t matter; they are simply the technologies, the bricks that make things happen. (Flash/AS, HTML5/JS, Cocos/ObjectiveC, MFC, Swift, etc.)

Display:

Stage, Canvas, RootViewController, they are essentially the same thing- the display entry point of an App.

DisplayContainer, Sprite, AnimatedSprite, MovieClip, they are just a family of displaying elements with deriviation hierarchy

DisplayContainer has child nodes, which could have children too

Animation, animations are basically a sequence of images being played at a certain speed/frame rate

Update/ticker funciton

Like in real world, things happen/progress as time elapses. In each timestep, coordinates being updated, images getting redrawed, calculation are performed, etc, etc.

Observer / Eventlisteners

They are basically function pointers, upon events being fired, program looks into the registered function list. This method is opposed to polling, which constantly checking certain conditions in each update cycle.

Physics/AI:

In this way physics is independent from the game engine it‘s self, irrelevant to 2d or 3d, only the calculation space matters.

Sound:

This is another dimension.

时间: 2024-11-06 05:46:04

2D game engine essentials的相关文章

QLGame 2D Engine编写环境搭建

QLGame 2D Engine编写 (win7环境搭建) 广州麒麟网络工作室,计划制作一款2d game engine,基于opengl(es)平台,暂时支持android,以后考虑支持linux,ios! 开发环境: os:win7 64bit design tool:vs2012 eclipse ndk-r9d 开发原理: 采用c++开发,可以方便的移植到android,ios平台!目前正在一步一步的开发之中,源码将放到github上! 开发讲解: 首先在win平台下,进行opengl编程

不容错过的超棒游戏开发资源列表

转自:http://www.cxyclub.cn/n/53914/ 开发工具 一套游戏开发工具,来自一些天才的开发者 Magic Tools Graphics Assets/Placeholders 2D Tools Spritesheet Tools Bitmap Compression Texture Tools Character Generators Tile Editors Animation Vector/Image Editor 3D Tools Modeling Terrain

wesome-android

awesome-android Introduction android libs from github System requirements Android Notice If the lib is no longer being maintained,please do not add it here. How To Contribute Step 1. Add a Item as follows: **Library Name**[one space]Short Description

[转]Flash、Flex、AS3.0框架及类库资源收集之十全大补

原文地址:http://www.d5power.com/portal.php?mod=view&aid=27 APIs.Libs.Components1.as3ebaylibhttp://code.google.com/p/as3ebaylib/2.as3youtubelibhttp://code.google.com/p/as3youtubelib/3.as3flickrlibhttp://code.google.com/p/as3flickrlib/4.Yahoo ASTRA Flash C

【干货】国外程序员整理的 C++ 资源大全【转】

来自 https://github.com/fffaraz/awesome-cpp A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff Standard Libraries C++ Standard Library - including STL Containers, STL Aglorithm, STL Functio

android架构-Libraries

Libraries Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Androidapplication framework. Some of the core libraries are listed below: Surface Manager 

HTML5 game engines

The following are few examples of game engines implemented with HTML5 and JavaScript: Construct 2: One of the first WebGL enabled HTML5 game engines. Exports purely to HTML5 and JavaScript. Uses Canvas only and is extensible with JavaScript plugins.

.NET 开源开发项目

本文列出了 .NET 开源开发项目(open source developer projects).意在包括对开发过程的所有方面有所帮组的项目.对于消费项目(consumerprojects),请参阅.NET开源消费项目清单. 下面按字母排序,并提供一行文字说明.GitHub/CodePlex(或其他)链接优先. .NET 实现 .NET Core - Core .NET 框架 C# Native – 把 C# 编译成本地代码. Cosmos - C# 开源的管理操作系统,一个操作系统是"con

awesome-qt

Awesome Qt  A curated list of awesome tools, libraries, and resources for the Qt framework. Qt is a powerful cross-platform application development framework, for use primarily (but not exclusively) in C++. It's great for GUI applications, but can be