2D game engine essentials [to be continued...]
All 2D Game Engines/Frameworks are trying to solve the same problem(s). Languages don't matter- they are simply the bricks that make things happen. (Flash/AS, HTML5/JS, Cocos/ObjectiveC, MFC, Swift, etc.)
Display:
Stage, Canvas, RootViewController, are essentially the same thing- the entry point of the view of an App.
DisplayContainer, Sprite, AnimatedSprite, MovieClip, they are just a family of displayable elements.
DisplayContainer has child nodes, which could have children too (hierarchical strucutre)
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 just 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.
2D game engine essentials [to be continued...]的更多相关文章
- QLGame 2D Engine编写环境搭建
QLGame 2D Engine编写 (win7环境搭建) 广州麒麟网络工作室,计划制作一款2d game engine,基于opengl(es)平台,暂时支持android,以后考虑支持linux, ...
- 【转】如何使用Unity创造动态的2D水体效果
原文:http://gamerboom.com/archives/83080 作者:Alex Rose 在本篇教程中,我们将使用简单的物理机制模拟一个动态的2D水体.我们将使用一个线性渲染器.网格渲染 ...
- wesome-android
awesome-android Introduction android libs from github System requirements Android Notice If the lib ...
- Video processing systems and methods
BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...
- A Complete List of .NET Open Source Developer Projects
http://scottge.net/2015/07/08/a-complete-list-of-net-open-source-developer-projects/?utm_source=tuic ...
- Awesome C/C++
Awesome C/C++ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. In ...
- 初识lua
转自:http://www.oschina.net/question/12_115993-- 两个横线是单行注释(译者注:这跟 SQL 一样) --[[ 增加两个 [ 和 ] 变成多行注释 我是多行注 ...
- box2d.js
https://github.com/kripken/box2d.js/ Demo: http://kripken.github.io/box2d.js/webgl_demo/box2d.html 演 ...
- HTML5 game engines
The following are few examples of game engines implemented with HTML5 and JavaScript: Construct 2: O ...
随机推荐
- unix_timestamp() 和 from_unixtime()
unix_timestamp() 将时间转换为时间戳.(date 类型数据转换成 timestamp 形式整数) select unix_timestamp('2016-03-23 11:10:10' ...
- web服务器安全笔记
一.设置项目目录权限(centos ,apache为例) 1.chown -R root /var/www/html/project (设置项目所属的用户) 2.chgrp -R root /v ...
- Java Collections Framework 之 RandomAccess接口
在研究Collections类的排序算法时候,看到这样的代码 : public static <T> int binarySearch(List<? extends Comparab ...
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- PHP运算符-算术运算符、三元运算符、逻辑运算符
运算符是用来对变量.常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作.PHP的运算符包括算术运算符.字符串运算符.赋值运算符.位运算符.逻辑运算符.比较运算符.递增或递减运算符.错误控制 ...
- spark 性能优化
1.内存 spark.storage.memoryFraction:很明显,是指spark缓存的大小,默认比例0.6 spark.shuffle.memoryFraction:管理executor中R ...
- 在Web API 2 中实现带JSON的Patch请求
译文:http://www.cnblogs.com/kexxxfeng/p/the-patch-verb-in-web-api-2-with-json.html 原文:https://carly.io ...
- 浏览器检测-js
昨天有一同学问我为什么attachEvent在非IE浏览器下不能起作用,我也跟他解释了一番:attachEvent是IE下独有的,只能在IE下使用,其他浏览器下应该用addEventListener来 ...
- day5-re模块
一.概述 但凡有过语言开发经验的童鞋都清楚,很多时候需要进行字符串的匹配搜索.查找替换等处理,此时正则表达式就是解决问题的不二法门.正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强 ...
- Python 读取window下UTF-8-BOM 文件
with open('target.txt', 'r', encoding='utf_8_sig') as fp: print(fp.read())