LGame-Simple-0.1.0組件下載地址:
http://code.google.com/p/loon-simple/downloads/list
從2008年開始籌備LGame項目以來,大家都是只知道有個Loonframework-Game包,卻誰也沒見過它的廬山真面目,這是為什么呢?
原因其實很簡單,因為吾輩就從沒對外發布過……或者說吾輩一直都是光打煙霧彈,吃著空額不當兵,見了鬼子不拉弦≡(▔﹏▔)≡|||……總之一句話,就是偶一直是動嘴不動手的干活……
不過呢,即便是這樣的吾輩,也總是有優點的,那就是即便天生MV低的嚇人的偶,卻干任何事情都絕不太監。我的做人原則就是,無論結果是好是壞,總會給大家一個說法,一個交待的~(雖然有時候時間會比較漫長……)
所以當吾輩活到了2009年,當吾輩離奔三又近一步之際,也總算要對外丟出一個可執行的Loonframework-Game包了。
——但是,各位網友大人還請不要高興得太早……
事實上,這次發布的Loonframework-Game包,并不是傳說中的Loonframework-Game包正式版,而只個對外尋求改進意見用的簡易版本。
至于作用嘛,就是要請大家集思廣益,看看有什么功能需要,有什么功能是不需要,還有什么功能是需要而沒有添加的。
那么言歸正傳,偶先來大體上介紹一下這次發布的LGame-Simple包。
因為是征集意見用的測試版本,吾輩并沒有把一些如LGraphics之類的開發中組件加入其中,甚至于精靈、碰撞、特效熏染等組件也因尚未整理完畢而并沒有提供。
覺得可用功能太少了嗎?
——那么我告訴您,即便這樣的情況下,這個jar的體積也有203K,如果都加上弄不好會奔4甚至于5……
LGame并不是偶集中于一個時期寫的,而是零零碎碎壘起來的,所以代碼的冗余量就相對較高。
我之所以寫了這個LGame-Simple版,就在于現在的LGame架構中還存在很多不合理及需要改進的地方,暫時還不適宜正式發布。
吾輩曾將N年來對于Java的認識,總結為這樣一段句話:“Java并沒什么做不到的,也并沒什么做不好的。如果某件事你覺得用Java做不到,那只能說明你還沒想好該怎樣用Java去處理罷了;如果某件事你用Java做了卻做不好,那也僅僅是因為你還不知道更好的Java解決方案而已。”
所謂貪多嚼不爛,吾輩以為,與其把N多代碼一股腦的推出去,還不如一點點發,一點點改進要好些。
——否則發了正式版再改,鬧得高版本無法兼容低版本,可就悲劇了……
因此在本次的LGame-Simple-0.1.0中,提供給大家的組件將圍繞在一些LGame的基本功能及UI上,并希望大家能夠就此方面內容給與相應的代碼補充(這才是關鍵~ )或改進意見。
下面為了給大家一個明確的初步印象,筆者將簡要介紹LGame-Simple的使用方式,而且此部分內容還將在以后的博文中逐漸補充。
改了以前發過的三個示例為LGame-Simple包開發,具體源碼已放在Google上,等到正式版發布時代碼量還能再精簡N多……
1、如何創建一個空窗體。
類名:HelloJavaGame.java
效果圖如下:
2、加載背景圖并于Screen之上載入一個按鈕,配合鼠標操作自動隱藏及顯示該按鈕。
類名:HelloJavaGame1.java
效果圖如下:
2、加載一個子窗體于Screen當中,并于該窗體上添加一個按鈕,此窗體可以被關閉、隱藏、拖拽。
類名:HelloJavaGame2.java
效果圖如下:
2、加載多個子窗體于Screen當中,并于子窗體上添加相關組件,令窗體上按鈕響應鼠標事件。
類名:HelloJavaGame3.java
效果圖如下:
3、繪制簡單開始菜單界面,并以鍵盤事件控制游標進行移動。
類名:HelloJavaGame4.java
效果圖如下:
暫時先寫這些,等過兩天我將精靈與碰撞組件添加上后會繼續增加相關示例。
實際上Java開發2D或3D游戲并沒什么難的,從性價比的角度來說Java開發游戲,至少比現階段的Flash更強。但在現實中,Java游戲開發卻主要維持在手機領域及貪食蛇一類的小游戲之上,實在令人扼腕嘆息。歸結其原因,一是相關的盈利企業太少,沒有多少人需要此方面人才。二是相關示例及第三方組件太少,導致很多人不知從何處入手,另外效率問題也非常令人困擾。
所以LGame 2D組件未來的發展方向將集中在解決Java繪圖效率問題及組件支持方面,目前階段又以添加相應組件為主,效率問題擱置。(實際上,鄙人已寫了一套基于象素操作的LGraphics組件,但是運行效果還不太穩定,并且有很多Graphics2D特效也沒有實現,所以暫不發布。對了,偶提這件事是為了表示一下偶沒忘了效率問題……)
另外說句題外話,前一陣曾很想開發對應JavaFX語法的版本,但可惜JavaFX的用戶體驗實在差強意義,所以此計劃被無限期擱置了。
即便以最新的JavaFX1.2來說,其jar加載速度之慢、程序啟動速度之慢、軟件運行速度之慢,在同類產品中都可謂是獨占鰲頭了。甚至比標準的Applet更甚,最不能容忍的是那些與Applet如出一轍,卻更加繁瑣的簡直是見了鬼的安全提示框……
Sun的大蝦們啊,不修改或執行本地文件
安全提示框
你就別出來了吧……我們設身處地的想象一下,如果Youku或者YouTube(想看?請FQ)之類的視頻網站每次瀏覽視頻都會出現安全提示,還有多少普通用戶敢使用它們呢?Flash還能有現在規模的市場嗎?……放著現成的成功經驗卻視而不見,恐怕連如來佛祖、基督耶穌都搞不清楚JavaFX的開發人員大腦究竟是怎么構成的了|||……
刨除運行效率與用戶體驗不談,即便單說JavaFX的部署問題。誰能知道那群大俠究竟想干什么?不要說在別處測試,即便在我這個Java相關組件一應俱全的機器上運行官方示例,尚且很少看見Java控制臺中一個錯也不報的時候,更不要說運行其他人寫的JavaFX程序了。前一陣我曾收集了一些JavaFX的應用,其中居然有超過1/5不能在我機器上直接運行,你們讓那些普通用戶可怎么玩啊……
還有啊,還有,支持JavaFX的消費型運行庫到底要再過幾個世紀才能出來啊?額滴神啊,讓Oracle或Sun的其中一方想起來它們正在使用的運行庫究竟有多么龐大吧……
我一直認為,如果能保證系統運行基本穩定這一大前提,那么程序的啟動與運行速度就應該被放在第一位,其次才是UI以及具體的業務處理,最后也應適當考慮到執行程序的大小及其下載安裝速度。要知道,在這個時間就是金錢,效率就是生命的現代社會里,即便你的UI再華麗,業務處理能力再強大,卻連運行個時鐘程序都要花十幾二十秒啟動,按一個按鈕要隔N久才反饋回信息,又有多少人會想要去相信并使用它呢?
不得不說,本來大有可為的JavaFX,目前并沒能帶動整個Java社區更進一步,甚至與之相反,有了拉Java社區后退,乃至成為整個Java社區恥辱的可能性存在。
身為Java程序員,我們都異常不希望看見JavaFX的失敗,我們都希望它能達到甚至于超越Flash今時今日的普及程度。然而,就JavaFX目前的發展態勢而言,卻實在兇多吉少,JavaFX的開發團隊完全有必要也有能力將它做的更好,可惜他們目前還沒能做到。
我只能說,JavaFX的目標或許很遠大,然而它卻走得很慢,差不多是烏龜爬行……
所以目前階段LGame的開發還是以AWT為基礎組件,暫時不考慮支持JavaFX與Swing(在以前的文章中解釋過原因)。
LGame-Simple-0.1.0組件下載地址:
http://code.google.com/p/loon-simple/downloads/list
___________________________________________
原本預計周日一天能寫完簡介的,但現在看起來沒戲了,起因是某個歹人在今天上午把我硬叫去義務維修電腦……
等明后天我回家后有空再繼續此文,預計周三前肯定能寫完。暫時先把組件的jar丟上去,至于程序源碼會在此文寫完后與示例代碼一起發布,想提前看就反編譯吧,反正也沒加密……另外以前常看我博文的朋友可以直接用早前的游戲示例往里套,只要少許修改即可在此框架下重用。
___________________________________________
兩天之后,在一個月黑風高的夜晚,偶突然想起來此文僅寫了一半,于是迷迷糊糊的從床上爬起來將此文“補完”,繼而踏踏實實的睡覺去了……
浙公網安備 33010602011771號