FMS的基礎筆記,若看懂範例檔的話,再加工一下就可以做一個簡易的線上聊天室了。
範例檔是AS3.0搭配FMS3.5
在本機安裝完FMS後,在C:\Program Files\Adobe\Flash Media Server 3.5\applications\下建立一個叫test01的資料夾下,然後把asc丟進test01資料夾下,就可以執行了。
...前面省略 protected function makeRequest($url, $params, $ch=null) { if (!$ch) { $ch = curl_init(); }
$opts = self::$CURL_OPTS; if ($this->useFileUploadSupport()) {...後面省略...前面省略 protected function makeRequest($url, $params, $ch=null) { if (!$ch) { $ch = curl_init(); } $opts = self::$CURL_OPTS; $opts[CURLOPT_SSL_VERIFYPEER] = false;//加入這一行 if ($this->useFileUploadSupport()) {...後面省略






var conn:LocalConnection=new LocalConnection();
var loader:Loader=new Loader();//載AS2 SWF
loader.load(new URLRequest("AS2.swf"));
this.addChild(loader);
mc.addEventListener(MouseEvent.CLICK,function(e:Event){
var connObj:Object=new Object();
connObj.datas="connect Data!!!";
conn.send("connAS2", "AS3call2_fun", connObj);
//connAS2=>溝通的通訊名稱
//AS3call2_fun=>通訊的function名稱
//connObj=>要傳入的資料,有資料量限制,需在40 KB以下
});
var conn:LocalConnection = new LocalConnection();
conn.AS3call2_fun=function(connObj:Object){//AS3call2_fun=>通訊的function名稱
trace("as2被呼叫:"+connObj.datas);//connObj=>接收的資料,有資料量限制,需在40 KB以下
}
conn.connect("connAS2");//connAS2=>溝通的通訊名稱
範例檔下載1.先建立一支設定Style的as,檔名為CellRenderStyle2.as
package {
import fl.controls.listClasses.CellRenderer;
public class CellRenderStyle2 extends CellRenderer {
public function CellRenderStyle2() {
}
override protected function drawLayout():void {
//this.data["col2"]會取得與這個欄位同一Roll的值
//this.listData.label會取得目前這個欄位的值
//this.listData.column會取得目前是第幾個Column
if(parseInt(this.data["col2"])<0 && this.listData.column==1){
textField.textColor=0xFF0000;
}
if(parseInt(this.data["col2"])<0 && this.listData.column==2){
textField.textColor=0x00FF00;
}
super.drawLayout();
}
}
}
import fl.controls.DataGrid;
import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;
//建立DataGrid(可把它想成大Table)
var dg:DataGrid = new DataGrid();
dg.width=500;
dg.height=300;
dg.x=20;
dg.y=30;
this.addChild(dg);
//建立Column
//第一個Column
var colA:DataGridColumn = new DataGridColumn("col1");
colA.headerText="序號";
dg.addColumn(colA);
//第二個Column
var colB:DataGridColumn = new DataGridColumn("col2");
colB.headerText="亂數";
//此格會變色,因此要設定cellRenderer
colB.cellRenderer = CellRenderStyle2;
dg.addColumn(colB);
//第三個Column
var colC:DataGridColumn = new DataGridColumn("col3");
colC.headerText="大於0?";
//此格會變色,因此要設定cellRenderer
colC.cellRenderer = CellRenderStyle2;
//此格的文字內容依Col2而變化,設定要出現的文字function
//labelFun會判斷col2的值大於0嗎,大於0顯示Y;小於0顯示n
colC.labelFunction=labelFun;
dg.addColumn(colC);
//建立DataProvider(Table的資料)
var dp:DataProvider = new DataProvider();
for (var i = 0; i < 20; i++) {
//col3的值依col2的值變化,可先不填
dp.addItem({col1:(i+1), col2:getRandomNumber()});
}
dg.dataProvider=dp;
function labelFun(item:Object):String {
trace(item["col2"]);
if(parseInt(item["col2"])>0){
return 'Y';
}else{
return 'N';
}
}
function getRandomNumber(){
return Math.floor(Math.random()*50)-25;
}