Java game 相關
http://java.com/en/games/
https://games.dev.java.net/nonav/index.html
遊戲引擎相關
http://www.jmonkeyengine.com/index.php?option=com_content&task=view&i...
https://games-middleware.dev.java.net/
http://lwjgl.org/index.php
http://www.javagaming.org/forums/index.php
Java Tutorials Swing 相關
http://java.sun.com/docs/books/tutorial/uiswing/components/index.html
http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html
一些 java 元件, 包括聲音撥放, 影像載入
http://www.javazoom.net/index.shtml
Wednesday, February 20, 2008
網站資源
post by 吊子1/2Sunday, February 17, 2008
To Do List By Stevenhsu
post by 小草1. 完成基本群組功能 -----OK
2. 從群組設定中變更UI元件的部分屬性
3. 加上按鈕換圖功能-----OK
4. 加上動畫系統
5. 加上精靈系統
6. 加上音效系統
7. 加上Panel換底圖功能
Sunday, January 20, 2008
cello 工作進度
post by 薛老目前涵蓋項目如下:
精靈管理系統 ( SpiritManager )
動畫管理系統 ( AnimationManager )
圖形管理系統 ( ImageManager )
精靈管理系統:
結合圖形管理物件 ( ImageManager、AnimationManager ) 所實做的動畫系統。 利用文字檔可設定所要讀的檔案與精靈所擁有的動畫 ( Animation )
動畫管理系統:
利用 ImageManager 所實現的動畫管理系統 ( AnimationManager ),可藉由一文字檔將動畫載入。AnimationManager 管理 AnimationObject。
圖形管理系統:
主要目標是作為圖形管理 利用一記憶體空間將所需的圖形載入以便重複使用
##CONTINUE##
UPDATE:
精靈管理系統: |
08/02/28: .音樂音效功能加入,音樂管理改為 Singleton 物件,詳見 SoundManagerKing 的使用。 .文字檔設定功能完成,目前有兩個系統檔 ( SysSpriData.txt、SysSpriRelaData.txt ) ,架構與 Animation 相同,統一由系統檔來決定要載入哪些精靈檔與關聯檔。關聯檔的功用是指定群組,可參考馬力歐範例中的角色旁多了個會跟著走的星星。 精靈檔的功用是設定精靈參數,目前可指定此精靈所需的 Animation 與切換到此 Animation 時會播放的音效。 . 目前 draw 還沒有拆出來,所以在繪關聯檔 ( child ) 時還是使用範例中的 TileMapRenderer ,需要自己將所有的 child 塞入,感覺會有點麻煩,之後應該會對 draw 的部份做個整理。 . 目前馬力歐的範例底層是用此系統載入精靈、動畫、圖片但他本身的架構並沒有改變,理論上應該是不用像他原本的架構那樣繼承很多層。不過也不確定使用上是不是真的很方便,文字檔提供的參數設定可能也還需要調整,這部份看大家有沒有什麼建議了,目前就是先提供功能這樣。 08/02/09: .嘗試加入音樂音效,不過還未完全 .新增群組功能,若有需要依附的精靈時可使用 AddChild() 將要依附的精靈加入,不過目前只有功能,尚未整理成可用文字檔設定 08/01/20: .已有基本管理器,不過實際功能與使用方式還在構思,參考 Killer 中 |
動畫管理系統: |
07/12/17: . AnimationManger 雛型完成,為啥說是雛型勒?因為我也不知道還有什麼沒做完的 XD 不過之後還要加入音效,所以應該還有不少東西要做。 . 目前的功能是透過一個「動畫專案檔」來管理要載入的「動畫檔」 而使用動畫時只要呼叫 GetAnimObj(String) 即可得到所要的動畫 其中 輸入的 String 為你所為動畫取的名字。 . 可以在文字檔上加入特效敘述 ( 目前只有左右鏡射與上下顛倒兩種 ) . 此系統為 Singleton ,在第一次使用時需呼叫 Init(String) ,來讀入「動畫專案檔」與初始 不過此機制有防呆,若不放心 Init 有無被呼叫過,可自行再呼叫。 |
圖形管理系統: |
07/12/17: . 與 AnimationManger 整合使用 . 同 AnimationManger ,為 Singleton,需使用 Init(String) 來先載入「圖片專案檔」 07/10/29: .ImageManager 套用至橫捲小遊戲測試正常,不過案 esc 關閉時好像會有問題 ( 不過好像本來就有 )。 AnimationObject 中的狀態使用測試正常。 07/10/16: .已加入開關, LoadImagesFile("ims.txt",true) 表示使用 FileReader , false 為不使用。 07/10/13: .初步測試結果是可以正常使用的,不過目前也只有測試 單一圖檔的讀入 ,連續的檔案 ( *.gif 之類的 ) 還未測試 測試檔案為 /src/cellosrc/AnimationTest1.java 載入的資源檔為 res/images/ims.txt 有興趣的人可以去看一下,我稍後會將檔案上傳 AnimationObject 中有兩種狀態可以使用,可分別做到單次播放與循環播放 在讀檔時使用 getResourceAsStream() 有遇到些問題,會讀不到 res 下的東西,只能讀 src 下的東西 ( 或是將 res 加入專案中一起 build,也可讀到 ) 目前是使用 FileReader() 來解決此問題 Older: . 新增、取得、刪除圖片 - 藉由一以定義的文字檔來一次載入多張圖 - 可單獨載入一張圖至管理器 新增了 ImageProcessor 類別 .是將讀檔的部份給獨立出來,此類別可以單獨使用 而未來影像處理 ( 旋轉、鏡射等 ) 的部份也會放在此類別中 目前大概只有這樣,算是把書上的範例做個簡單的整理 目前還沒有測試 因為存入的方式我目前是使用檔名 ( 不含副檔名 ), 這樣應該會有些問題 之前是說要用絕對路徑啦 但我又希望是直接給圖片取名字就好 ( 較短,也較好記 ) , 這部份應該是要等討論後我在做修改 所以暫時就先這樣了 可以使用在通知大家 |
TO DO LIST:
精靈管理系統: |
.設計精靈元件的管理器 ( SpriteManager ) - 進行中,有簡單的介面及功能 .行為模式 - 可自行設計其精靈物件的行為 ( Behavior ),可賦予、抽換,如飛行、爬行…,架構構思中 .碰撞 - 碰撞 list,提供函式介面使其能將 input 物件與 list 比對 |
動畫管理系統: |
.特效自動載入功能,嗯…就上次跟乘涼討論的… - 目前有基本功能,但沒加入什麼可用的特效 .圖形特效 ( 參考 ImageManager ) .設計動畫元件的管理器 ( AnimationManager ) ,基本有了,看之後要加什麼或是要修什麼 .群組管理 ( 可用精靈取代? ) |
圖形管理系統: |
.圖形特效功能,可個別設定各張圖的顯示效果 ( 灰階、高反差... ) - 提供在讀文字檔時可指定特效類型,載入時即以處理好的圖片為基底 - 能動態指定特效 ( 在 Animation 層級指定,每次 render 時會處理,不影響基底的圖片 ) |
遇到問題:
精靈管理系統: |
.行為模式的架構在底層實現的話似乎不夠靈活 |
動畫管理系統: |
好像暫無 |
圖形管理系統: |
.用另一條 Thread 卸載圖片時會 Lag |
Saturday, January 19, 2008
專案相關事項
post by 吊子1/2右側有一些相關連結,比較重要的是「專案文件區」。希望能把比較重要的文件存放在此。
上傳的的方式是 FTP,位置和密碼如下:
在此文件規格盡量以 html 或是 mht 為主,編輯時盡量掌握文字和圖片分開存放的原則,這樣可以比較有彈性的使用各種方式發佈文件。
Sunday, January 13, 2008
stevenhsu工作進度
post by 小草2008/02/19
按鈕換圖功能完成, 可直接從設定檔設定按鈕的各狀態的圖來換圖
##CONTINUE##
2008/02/18
群組基本功能完成, 可使用群組檔案編輯欲組合的各個基本UI物件
2008/01/31
1. 修改UI系統, 可重複生出同個UI檔案定義的UI物件
2. 新增群組資料物件, 用來讀取群組資料
2007/12/31
新增事件處理系統, 並將UI觸發的功能改成觸發事件而不是直接執行,觸發事件後, 會將處發的事件物件丟到事件管理者中, 由主控者決定,該何時執行觸發的事件
2007/11/26
UI系統加上拖曳功能並修正事件偵測問題
2007/10/30
UI系統的事件偵測基本雛型完成, 目前UI系統可使用功能如下:1. 利用文字檔編輯UI的外型2. 利用文字檔設定UI顯示層級3. 利用文字檔指定每個UI元件的事件觸發物件
2007/10/29
閱讀以下內容
14.8 JPopupMenu
14.9 Pluggable Look-and-Feel
14.10 JDesktopPane and JInternal Frame
2007/10/25
閱讀以下內容:
14.5 JSlider
14.6 Windows: Additional Notes
14.7 Using Menus with Frames
2007/10/17
閱讀以下內容:
Chapter14 Graphical User Interface Components: Part 2
14.1 Introduction
14.2 JTextArea
14.3 Creating a Customized Subclass of JPanel
14.4 JPanel Subclass that Handles Its Own Events
2007/10/13
閱讀以下內容
13.11 Multiple-Selection Lists
13.12 Mouse Event Handling
13.13 Adapter Classes
13.14 Key Event Handling
13.15 Layout Managers
13.15.1 FlowLayout
13.15.2 BorderLayout
13.15.3 GridLayout
13.16 Panels
13.17 Thinking About Objects: Use Cases
2007/10/11
閱讀以下內容
13.4 Event Handling
13.5 Textfields
13.6 How Event Handling Works
13.7 JButton
13.8 JCheckBox and JRadioButton
13.9 JComboBox
13.10 JList
2007/10/9
今天發現把UI系統架到GameCore時會看不見所有東西是因為我對List和map的使用有誤的關係, 修正之後就看得到了, 不過事件偵測好像還有問題, 要再修改
2007/10/5
看另外一本書(Java How To Program)學習Java的GUI的基本觀念
13.1. Introduction
13.2. Overview of Swing Components
13.3. JLabel主要心得:又學到一些Java GUI更多方便的功能以及基本元件繼承關係
新增UIMgr, 用來管理與產生所有UI物件 新增UITest, 用來測試UIMgr的運作是否正常
研究JavaBean的基本概念
1. 認識AWT與Swing
2. 認識Applet, 以及學習如何利用Browser執行Applet
3. 學習在本地端執行Applet的方法
4. 新增JButton的方法, 以及設定layout manager的基本觀念
5. 利用指定Swing元件的ActionListener, 來決定Swing物件觸發事件後要做的動作的方法
6. 學習JTextField, 和JTextArea的基本使用方法
7. 學習Java的layout manager的使用方式->
(1)BorderLayout(2)FlowLayout(3)GridLayout(4)GridBagLayout(5)Absolute Positioning(6)BoxLayout
8. 學習Swing event model的概念
9. 認識常用的Event and Listener types
10. 使用Listener和Adapter來攔截訊息的差別
11. 追蹤複數事件的方法 學習幾個UI物件的基本用法:
(1) Buttons(2) Button Group(3) Icons(4) Tool Tips(5) Text Fields ...
新增BaseUIObj元件, 其功能為: 利用讀取的設定檔產生UI物件
On 6月4日, 上午1時16分
新增BaseDataMgr元件 用來讀取檔案與存取資料
On 5月29日, 下午9時18分
預計要做個讀取文字檔即可產生視窗介面的系統, 視窗能夠擁有按鈕, 動畫, 圖片, 等等基本物件, 並且在文字檔中可以設定物件是否可點擊或者可拖 曳之類的功能
On 5月25日, 上午11時00分
Saturday, January 12, 2008
ToDoList
post by 吊子1/2程式
UI系統(進行中)
- 檔案格式設計
- 一般性功能設計(拖曳,壓下)
- 動畫元件置入
- 捲軸功能整合
- 事件偵測(結合事件觸發系統)
- 網頁解析元件
##CONTINUE##
動畫精靈系統(進行中)
- 動畫元件管理
- 精靈元件管理
- 事件觸發
- 音效整合
事件觸發執行系統
- 事件單元設計
(必須可指定立即執行(blocking)或交由threadpool執行) - threadpool架構
希望能整合依序處理
網路系統
- 基礎網路物件研究
- 同步架構
- 伺服器架構
- RPC
資料庫系統
- 後端資料庫系統
- 資料庫連線元件
AI相關系統
- 預測模擬相關系統
- 碰撞系統
- 路徑搜尋
2D場景管理系統(進行中)
- 背景捲動
- 多圖片串接
- 多圖層
- 背景碰撞
- 地圖方塊精靈化
- 場景物件管理
音樂系統(初步完成)
- client端操控元件
- threadpool播放元件
3DGraphic
- 純軟管線研究實做
- java3dapi研究
- 與現有引擎整合
- 3D精靈設計
- 3D碰撞系統
- 3D粒子系統
- 3D場景管理
- 3D空間系統
Applet
- 網頁遊戲框架
編輯器
- 2DUI編輯器
- 2D動作編輯器
- 2D場景編輯器
企劃
-----
逆天三國傳
瘋狂排球
音樂
-----
逆天三國傳
- 序曲
- 春
- 夏
- 秋
- 冬(完成)
瘋狂排球
輕快曲風數首(未完成)
美術
----
Friday, January 11, 2008
音效系統規格
post by 吊子1/2音效系統大致完成, 由於考量延遲問題, 音效格式採取預先設定方式, 格式統一為 "取樣頻率 44100 Hz , 雙聲道" , 支援 wav ,以mpeg壓縮過的 wav 以及 mp3 壓縮格式
大致功能 - 可每一音效淡入淡出, 關閉, 暫停, 循環
可選擇是否將音效載入記憶體
編譯及執行時需要以下三個 lib
jl1.0.jar, tritonus_share.jar, mp3spi1.9.4.jar
在svn 上的 lib 資料夾內請自行下載
相關程式碼為
SoundManager.java
SoundManagerClient.java
xzx 工作進度
post by 吊子1/2目前動態:
。排球企劃進行
。程式架構切分 (事件處理系統)
。網路系統研究
。 Thread 書籍研讀中
##CONTINUE##
歷史紀錄:
主迴圈架構規劃
音效系統
2D場景系統
3D架構
企劃
介面圖像
<按鈕要怎麼整合進 InputManager?
<按鈕拖曳完成
<精靈前後管理,滑鼠偵測
<動畫元件拖曳完成
<開頭畫面實做
<音樂配合
<動畫元件管理器
<更新list
<位移移動紀錄功能
<動畫半透明程式控制
<精靈中包含音效
<BufferedImage 研究,是否要替換掉
<已替換
<ui 統一管理
<panel整合動畫元件ui元件
<主迴圈
<檢查ui管理器
<檢查動畫管理器
<檢查panel管理器
<動畫
<ui
<動畫元件應該要有載入完成旗標