本次更新發(fā)布日期:2010-07-31
源碼及jar下載地址 :http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
關(guān)于LGame-Android版的 AndroidManifest.xml 配置:
此框架Android版具備LGameAndroid2DActivity以及LGameOpenGLActivity兩種啟動(dòng)用 Activity(后者暫未提供) ,針對(duì) LGameAndroid2DActivity的 AndroidManifest.xml配置如下所示:
關(guān)于LGame-Android版的初始化配置:
關(guān)于Android版以及PC版的共同變化:
1、擴(kuò)充了原有的LGraphics類(lèi),目前的LGraphics幾乎涵蓋了J2ME及J2SE中所有的Graphics API。
2、加入了CanvasScreen類(lèi),這是一個(gè)仿J2ME中GameCanvas的實(shí)現(xiàn)(以Screen封裝),它和普通Screen的主要差別在于不會(huì)主動(dòng)刷新畫(huà)面,刷新僅在執(zhí)行repaint時(shí)有效,另外CanvasScreen的API在Android和PC版中完全一致。
3、為簡(jiǎn)化J2ME游戲移植,加入了仿J2ME的精靈類(lèi)包(完全等價(jià)于J2ME中Sprite類(lèi)的相關(guān)系列,API為1:1實(shí)現(xiàn))。
4、為簡(jiǎn)化J2ME游戲移植,加入了仿J2ME的存儲(chǔ)類(lèi)包(完全等價(jià)于J2ME中RecordStore類(lèi)的相關(guān)系列,API為1:1實(shí)現(xiàn),具體到在PC平臺(tái)為文本方式存儲(chǔ),在Android平臺(tái)為SQLite方式存儲(chǔ))。
5、在原有LGame的精靈包中增加了SpriteTiled類(lèi)(仿TitleLayer實(shí)現(xiàn)),擴(kuò)充了Sprites類(lèi)(增加了仿LayerManager的API),但在細(xì)節(jié)上與J2ME中的相關(guān)類(lèi)有所差異,在需要1:1移植J2ME游戲時(shí),請(qǐng)使用擴(kuò)充的J2ME包。
6、增加了一種資源文件打包方式,用戶(hù)可以通過(guò)LPKUtils類(lèi)(此類(lèi)PC版特有),將指定文件或文件夾中資源打包為L(zhǎng)PK文件(后綴任意,文件頭會(huì)統(tǒng)一標(biāo)識(shí)為L(zhǎng)GPK),并通過(guò)LPKResource類(lèi)進(jìn)行讀?。ù藶锳ndroid版和PC版共有),以避免游戲資源被人輕易盜用(由于此框架開(kāi)源,建議用戶(hù)對(duì)源碼中混淆方式進(jìn)行少許修改后使用)。
7、擴(kuò)展了部分原有類(lèi)庫(kù)。
8、修正了一些原有BUG。
關(guān)于Android版:
由于LGame近期體積逐漸膨脹,考慮到移動(dòng)平臺(tái)特性,在此0.2.6版中我將某些可以通過(guò)Android類(lèi)庫(kù)自有功能替換的類(lèi)包暫時(shí)移除(諸如Ioc、xml、http操作等),此部分功能在下一版中會(huì)分包發(fā)布,目前需要此部分功能的網(wǎng)友請(qǐng)從上一版本直接COPY即可。
PS:此次開(kāi)發(fā)中反向了大量的J2ME游戲進(jìn)行移植實(shí)驗(yàn),能夠保證絕大多數(shù)J2ME游戲皆可正常移植,并且做到Android版和PC版通用(您問(wèn)為什么要加入仿J2ME的功能?當(dāng)然是為了響應(yīng)某知名公司號(hào)召:“科技,以換殼為主! ”,至于怎么“換”,那就看您的了~)。
以下為部分J2ME游戲移植效果(由于測(cè)試示例大部分為反向獲得,小弟沒(méi)有版權(quán),所以無(wú)法發(fā)布程序,萬(wàn)望海涵(-_-)……):
以下為較早前發(fā)布過(guò)的一些程序示例畫(huà)面(請(qǐng)下載較早前LGame發(fā)布版本獲得):
以下為L(zhǎng)Game-Simple開(kāi)發(fā)的部分游戲示例畫(huà)面。
源碼及jar下載地址:http://loon-simple.googlecode.com/files/LGame-0.2.6.rar
關(guān)于開(kāi)發(fā)文檔的說(shuō)明:
有很多熱心網(wǎng)友,曾經(jīng)訊問(wèn)過(guò)小弟關(guān)于開(kāi)發(fā)文檔的事情,小弟在這里明確的表個(gè)態(tài),文檔在8月份肯定會(huì)發(fā)布的(也就是趕在LGame-0.3發(fā)布前)。
不過(guò)小弟還是要提前明確一點(diǎn),在游戲開(kāi)發(fā)這個(gè)領(lǐng)域中,個(gè)人以為不太可能存在什么特別神奇的開(kāi)發(fā)說(shuō)明手冊(cè),能夠看過(guò)后就將所有難題一一攻克,寫(xiě)出讓世人愛(ài)不釋手的游戲來(lái)。因?yàn)榧词褂辛送暾呐涮孜臋n,也只能減少開(kāi)發(fā)疑問(wèn),而不能根本性的提升用戶(hù)的游戲開(kāi)發(fā)能力。
我舉個(gè)例子,想必大家都知道目前iPhone領(lǐng)域的游戲開(kāi)發(fā)是非?;鸨?,而iPhone的游戲效果也是有目共睹的。但是,目前iPhone 2D開(kāi)發(fā)中使用最多的Cocos2d,難道就有什么能讓人一目了然的開(kāi)發(fā)竅門(mén)嗎?難道就有什么“一拖而就”的IDE在后面支撐嗎?我看也未必。
事實(shí)上,近期小弟常常會(huì)潛水在國(guó)內(nèi)iPhone領(lǐng)域比較有代表性的Cocoachina網(wǎng)站上,也曾記極力想在上面找到任何堪稱(chēng)“完備”的文檔或教材以作參考。但看到最多的,卻往往還是那些只言片語(yǔ)的疑問(wèn),以及連代碼也沒(méi)有的簡(jiǎn)短回答。甚至該站提供的Cocos2d置頂示例(http://www.cocoachina.com/bbs/read.php?tid-15554.html
),個(gè)人認(rèn)為,也并比小弟博客中曾經(jīng)給出過(guò)的示例更為直觀具體(坦白講,該例甚至還要初級(jí)很多),而Cocos2d在使用中所會(huì)面臨的繁瑣性以及Object-C語(yǔ)法的繁瑣性,小弟以為也更在LGame框架以及Java語(yǔ)法之上——至少LGame還有PC版可在臺(tái)式機(jī)上直觀的調(diào)試后再移植到智能機(jī),而Cocos2d就只能在虛擬機(jī)或真機(jī)上硬調(diào)了。
但是,就是這樣的Cocos2d,卻創(chuàng)造了無(wú)數(shù)個(gè)月入萬(wàn)刀以上的iPhone開(kāi)發(fā)者。所以,至今沒(méi)有人,也不可能有人敢于否定它的存在價(jià)值。
我在這里想說(shuō)的是,文檔或示例肯定都是有用的,也都是會(huì)有的。可游戲開(kāi)發(fā),更多還是要依靠開(kāi)發(fā)者的主觀摸索與經(jīng)驗(yàn)積累。如果沒(méi)有這些,就算小弟能將魔獸世界整個(gè)做成示例,并一步步講解其實(shí)現(xiàn)原理,到最后世上流傳最多的,恐怕也不過(guò)是N種換殼的魔獸世界游戲罷了。
————————————————————————
話(huà)說(shuō)持續(xù)高溫的“京畿”,在2010年7月31日晚終于下雨了,所以小弟也暫時(shí)擺脫了“夏眠”狀態(tài)……
浙公網(wǎng)安備 33010602011771號(hào)