文档介绍:***@ponent架构的游戏引擎快速开发HTML5游戏AboutMe唐博皞BoydTang@原木博皞Startuper/原木游戏工作室Co-Founder独立游戏开发者折腾Flash/HTML5游戏高端骨灰级游戏玩家(高玩,恩=-=)Outline游戏编程的演变–ponent架构架构思路-ponent的实现特点CraftyJS-ponentBased游戏引擎Demo/Practice–HTML5CodeJam48小时作品如果要做一个游戏,你会怎么写?有一个Main函数functionmain(){ while(/*游戏没结束*/){/*在循环里写游戏更新逻辑*/} /*游戏结束出现游戏结果*/}更新逻辑是啥?();//player需要不断更新for(vari=0;i<MAX_MONS;i++){ monsters[i].update();//怪物也是}那如果Player和Monster有通用的功能呢?GameObject–经典的数据驱动结构游戏世界中所有的物体都是GameObject角色,怪物,环境障碍,车辆,子弹,摄像头,触发器,灯光现在在Main函数中怎么写?for(vari=0;i<numGameObjects;i++) gameObjects[i].update();GameObject是什么呢?由数据驱动,而非代码写死我要这样?还是这样?如果想在GameObject结构下添加功能呢?更复杂的情况呢…Physics?经典GameObject结构的问题很多功能无法单纯靠继承实现,最终的代码结构并不是一个有向无环图类继承导致难以轻易改变结构功能全都向上依赖子类的数据爆炸,ponent架构?ponent之间的互相访问,ponent可以实时增减,动态为GameEntity增减功能