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 ) ,基本有了,看之後要加什麼或是要修什麼

.群組管理 ( 可用精靈取代? )
圖形管理系統:
.卸載功能,可將一個 txt 內的圖片卸載
.圖形特效功能,可個別設定各張圖的顯示效果 ( 灰階、高反差... )
   - 提供在讀文字檔時可指定特效類型,載入時即以處理好的圖片為基底
   - 能動態指定特效 ( 在 Animation 層級指定,每次 render 時會處理,不影響基底的圖片 )

.讀檔方式 (getResourceAsStream()或 Filereader()) 之後用參數切換使用

 

遇到問題:

精靈管理系統:
.行為模式的架構在底層實現的話似乎不夠靈活
動畫管理系統:
好像暫無
圖形管理系統:
.用另一條 Thread 卸載圖片時會 Lag

Saturday, January 19, 2008

專案相關事項

post by 吊子1/2

右側有一些相關連結,比較重要的是「專案文件區」。希望能把比較重要的文件存放在此。

上傳的的方式是 FTP,位置和密碼如下:

在此
K++TjJl/0v8OAAPWhHwR3JvkjTUxJwfovSsrFYMXM7knNImf\nnSqD7A7uP5qaaHImYOJoT3VSuL+f4uMB48agR915vFzF8X8P\ntk7PVkXa5kA/8EOpzH4yLWZYANHJ4NIJ0eqrCl3eXMOf/aI+\nGlk/8TLmAEB7DEIcmIm/cqG0OBg=

文件規格盡量以 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

Data Synchronization in Multi Thread

post by 吊子1/2

http://cchaha.no-ip.info/file/Igs/Data%20Synchronization%20in%20Multi%20Thread.mht

音效系統規格

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
<動畫元件應該要有載入完成旗標

Thursday, January 10, 2008

實際上

post by 吊子1/2

實際上,在這各地方,可以發文嗎?