先來來 看看效果巴
聊天室的原碼
這個放在空間上的是 單機板的!
所以不是即時的可以多人聊天版
我的改法是錯誤示範把 Proxy 中的 Delegate 的通通停掉
然後直接傳出事件
其實應該寫另外一個 Delegate 來作單機的
而不是像現在的方式~
直接寫在 Proxy 中!
然後我來講一下這個裡面我遇上的一些問題!
1. 中文問題
很久以前FLEX MX版的textInput有問題~
後來修正了~現在 S版的 textInput
也是一樣有中文的問題~
所以我打算找 MX的INPUT和S版的對照改
看看能不能解決~
但是我覺得這兩個 相差太多 我照改改出一些問題~
所以最後又改回 MX版的 不過這樣做有不少的問題~
MX和S版的 參數有差~本身對 RICHTEXT有差~~
基本上~我遇過 input的中文輸入問題 大概就下面這幾個
a . 因為 HTML上的鑲入語法沒設成 windows 或是 transparent
b. input有沒有 focus~沒有焦點不能換成中文輸入
c. 沒有設 IME.enabled = true;
d. 組件使用 s版的
這邊我是使用 MX版的組件~
配合HTML設成 windows 來解決這個問題
2.文字框置底問題
以前都是使用MX版的組件~
設置置底很簡單~都使用verticalScrollPosition
現在使用 S版的沒有這個屬性變得很麻煩
而且 S版的 textArea的組件 要設 verticalScrollPosition 和 verticalCenter 屬性~
使用 appendText 區增加文字~
會自動置底~
我是過直接將 文字給 組件的方式
但是這個方式不會置底喔
後來置換 SKIN的時候! 又遇上了置底的問題~
建議是換了後 過一小段時間
在執行appendText 就會置底了
3. 文字格式的問題
這個範例中 可以簡單的設 5種不同的屬性
大小 顏色 粗細 斜體 底線
恩~因為MX沒有 textFlow這個屬性..
最後看 官方文件 才知道怎樣做
我選擇的是 Creating a TextFlow object in ActionScript 的方法~
如果沒看到這個 我想我的做法應該還是回去老方式
使用 htmlText的方法去做~
4.換SKIN的方法~
本來我是想使用CSS的方式~或是換MC元件的方式
後來想到之前 Ticore 大大教的方法 (之前我要換官方的Alert的SKIN 不會換~)
所以就使用 MXML SKIN的方式去做~
基本上我設計不太行 所以我就基本的改了幾個屬性看看效果
像是 button 的部分我只有改框線的顏色
textArea 的部分 我就加了背景
如果仔細研究一下應該是可以加更多的地方
還有支援這樣換的 只有S版的 不過可能是因為介面的關係~
說不定仔細的GOOGLE一下 說不定可以找到兼容MX版的方式
我覺得兩個應該不會相差太大!
5. 表情符號的部分~雖然我有看到範例!
但是我沒辦法傳回 主機端處理在使用!
最重要原因是 一次傳輸裡面可以有多個表情符號!
傳到伺服器是沒問題!
但是伺服器的記錄和在使用的部分就麻煩了
最主要是我不想在建一個表然後JOIN
但是這邊我還沒想到好的方法~
基本上應該是存成文字檔 存進資料庫
然後 讀出來在解析成 ARRAY然後傳回去的方式
傳回的文字串和圖片位置的問題
而且這一塊 我是想要獨立出來 自己成一個 VIEW的方式去處理!
6. PHP 處理數據的問題~
本來想使用remote的方式可以減低PHP的連線數的
不過看起來好像是沒啥幫助!
不過也可能是SQL寫的太爛的關係
我在本機端測 1秒鐘 更新一次資料
兩個人同時連的情況~我的電腦 CPU 就會吃到100%...
就是因為這個原因~
讓我不敢放在主機上這種自動更新的即時機置
沒有留言 :
張貼留言