Ejoy2D是一款圖形引擎、基于OpenGL ES的圖形庫。采用C和Lua開發(fā),目前只支持Windows、Linux、Mac OS平臺(tái)。Ejoy2D的一切高層API都是以Lua函數(shù)和對象形式提供的。二次開發(fā)人員完全可以用Lua來開發(fā)游戲。
Ejoy2D是 簡悅(EJOY)游戲公司所開發(fā)的一款游戲圖形引擎,該公司的CTO 云風(fēng)(真名吳云洋)在 其博客和 微博上宣布了Ejoy 2D開源,遵循MIT開源許可,并將代碼托管在 GitHub上。
微博截圖
Ejoy2D的設(shè)計(jì)目標(biāo)是可以輕松地嵌入到開發(fā)者的游戲引擎中,方便開發(fā)者定制自己所需的功能。
為什么要開發(fā)Ejoy2D?
據(jù)云風(fēng)博客介紹,相比大家都使用Cocos2d-X進(jìn)行游戲開發(fā),開發(fā)一款自己的游戲引擎可控性會(huì)更強(qiáng)、方便定制開發(fā)者自己所需的功能,并且可以在性能上做針對性的優(yōu)化。正如云風(fēng)文章里所提到的,手機(jī)設(shè)備的硬件性能遠(yuǎn)不如PC,即使程序性能足夠,開發(fā)者也需要考慮硬件能耗,讓電池用更久一點(diǎn),讓設(shè)備不那么發(fā)燙。優(yōu)化引擎也是游戲程序員的樂趣之一。
相關(guān)技術(shù)
Sprite是Ejoy2D里最重要的數(shù)據(jù)類型,但引擎幾乎不提供運(yùn)行時(shí)的Sprite構(gòu)造方法,詳細(xì)信息可以查看 資源文件。Animation是Ejoy2d中最復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。一個(gè)animation由若干component構(gòu)成的。每個(gè)component 可以用id引用其它的sprite對象(不限于靜態(tài)圖片組還是另一組動(dòng)畫),但得保證不能成環(huán)。
關(guān)于Ejoy2D的更多詳情可以訪問 云風(fēng)的博客。