今天公司要做個(gè)關(guān)于flash方面的東東,以前只知道flash,沒接觸過,看過美工做過flash,的確很漂亮,但都是靜態(tài)的。但現(xiàn)在要做flash編程,開始是真的從心底叫苦,苦啊,沒辦法,苦要也做,那就做把,上網(wǎng)查了些資料,還參考了其他一些書籍,還是搞了點(diǎn)點(diǎn)名堂,哈哈。具體做法是:(我是基于Flash CS3來編程的,聽說CS3和CS2有很大區(qū)別,不是很清楚)
1.step_1:在FlashCS3平臺下新建一個(gè)Flash文件:
2:step_2:在當(dāng)前時(shí)間軸上畫布上畫個(gè)正方形,畫滿。(可以省去)
3.step_3:在當(dāng)前畫布上畫個(gè)10*10的藍(lán)色的小正方體,選擇-》Modify->convert to symbol (或者F8) 轉(zhuǎn)為元件到如下圖:
取個(gè)名把:Square(正方形),OK就可以了。
然后看到庫面板,如看不到Window->Library(Ctrl+L)如圖:
右鍵點(diǎn)擊Square,選擇Linkage,打開如下面板:
勾選Export for ActionScript,Import for runtime sharing,在Class處填寫類名Square,Ok完畢
到時(shí)候就可以直接new Square();來創(chuàng)建元件了。這里先在舞臺畫布上點(diǎn)擊元件,然后delete,刪除掉。
4.step_4:在關(guān)鍵幀上按F9或者右鍵點(diǎn)擊選擇Actions打開編程窗口。
4.1在這里寫如下代碼:
var square:Square = new Square();square.x=400;square.y=200;addChild(square);
按Ctrl+Enter運(yùn)行就可以看到結(jié)果了,畫布上把Square畫出來了。我第一感到好神奇。
4.2現(xiàn)在做個(gè)從外部傳參數(shù)的例子:
//從網(wǎng)頁取得參數(shù)var xpoint = loaderInfo.parameters["x"];var ypoint = loaderInfo.parameters["y"];var square:Square = new Square();//int(param);將param轉(zhuǎn)為整數(shù)square.x=int(xpoint);square.y=int(ypoint);addChild(square);
然后寫個(gè)html文件:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="366" height="400" id="map"><param name="menu" value="FALSE" /><param name="src" value="test.swf" /><param name="allowFullScreen" value="always" /><param name="flashvars" value="x=321&y=123" /><embed src="test.swf" menu="false" allowFullScreen="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="366" height="400" name="map" bgcolor="#555555" flashvars="x=321&y=123"></embed></object>
4.3再寫個(gè)向服務(wù)器傳參數(shù)的例子:
//從網(wǎng)頁取得參數(shù)var xpoint = loaderInfo.parameters["x"];var ypoint = loaderInfo.parameters["y"];var square:Square = new Square();//int(param);將param轉(zhuǎn)為整數(shù)square.x=int(xpoint);square.y=int(ypoint);addChild(square);square.addEventListener(MouseEvent.CLICK, clickHandler);function clickHandler(event:Event):void{var _x:int = event.target.x;var _y:int = event.target.y;var url:String = "flash.do";//創(chuàng)建請求對象var request:URLRequest = new URLRequest(url);//包裝參數(shù)var variables:URLVariables = new URLVariables();variables.xp = _x;variables.yp = _y;request.data = variables;request.method=URLRequestMethod.GET;navigateToURL(request, "_blank");/**//去掉navigateToURL(request, "_blank");//這種方式可以向服務(wù)器發(fā)送數(shù)據(jù)并能裝載返回的數(shù)據(jù)var loader:URLLoader = new URLLoader();loader.addEventListener(Event.COMPLETE, connectHandler);loader.load(request);*/}
在服務(wù)器就可以request.getParameters("xp"); request.getParameters("yp");