發表文章

目前顯示的是有「action script」標籤的文章

wiimote與pc或mac互動

其原理大部份都是運用wiimote本身對IR的定位,做互動效果,用手指做像關鍵報告的方式,現在看來是運用從螢幕上發射出來的紅外線光,再由手指的反光貼紙做反應,讓wiimote感應. wiimote真是潛力無窮呀!!

Flash CS4有夠慢!

使用到現在,Flash cs4真的讓我蠻討厭的。 光是開啟速度跟執行速度都非常的"慢"! 字體的輸入也是一個"慢"字。 也許它的介面設計是非常棒的! 但在工作最重要的效率上,Flash cs4真的是不及格。 當機率也高了點,向下的相容性目前看來也有小許問題。 就看Adobe什麼時候肯更正一下了....

Flash CS4本機Help說明方式

flash cs4灌好後,好像help文件只有線上版可觀看,其實在本機還是有資料可讀取的。 在視窗/擴充功能/連線 叫出連線面版,在面版的右上彈出功能列,選離線選項,在彈出的視窗勾選讓我保持離線。 這時再叫出說明文件就是本機的資料了。 或是找出本機路徑 X:\Program Files\Common Files\Adobe\Help\zh_TW\Flash\10.0_UsingFlash 這個路徑底下也都有html版的說明,而且... 各個語言版本都有!

物件呼叫stage長、寬出錯

在使用類別呼叫stage.stageHeight或stage.stageWidth時會出錯。 後來發現是因為要呼叫stage是"物件"本身已在顯示列表中才能找的到"自身"的stage。 不過這情形又似乎只發生在呼叫外部swf檔才會發生。 所以後來如果要呼叫stage的類別,我會習慣加上 this.addEventListener(Event.ADDED_TO_STAGE,init) 也許不是什麼正統的方式,相關stage或root的認定,可以參考Ticore大師的文章。

AS3呼叫文件類別方法

剛開始寫AS3的時候,因為不知道怎麼呼叫文件類別的方法或屬性, 一直將文件類別帶入物件方法中,這樣寫到後來真的非常的亂。 後來發現將文件類別指定為自身的靜態屬性即可。 package { public class main { public static var _root:main; public function main() { init(); } public function init() { main0._root = this; } }

關於AlivePDF

最近bytearray.org的作者看到Flash player10出來後,有將AlivePDF這個API做一些升級,目前版本為1.4.5,已經有支援300dpi的圖檔。 但由於目前的Flash Play9還是有2880pix的限制(聽說有破解的方式,但要配合AlivePDF還是有問題),所以針對300dpi的部份在元件的製成上還是相當大的困擾在。 本來是還要透過bytearray的傳輸用php來製成PDF檔的方式倒是改成用AIR版後,直接本機就可以產生,不用再透過php了! 而產生的時間,我自己的感覺保守估計差了快十倍!!(我的php是在本機端測試的,所以應該沒檔案大小傳輸的問題)。 產生的PDF檔,品質目前看來也都相當不錯。

Flash player 10新功能發佈

鄉親們呀!拜一下奧杜比吧! 看到flash新的功能發佈後,只能說有學flash的人會感到另一個新世紀的產生呀! http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#features_ce 每一個功能都讓小破感動!不過八成要學的東西又給我二次元上去了吧! 字型:系統字型的大進化 3D內建的執行,還支援GPU!! 可移值after effect特效,這啥小,不太懂,以後發佈了再研究。 鄉親呀!我現在可是熱淚盈眶呀!

Adobe發狠了:Open Screen Project

最近Open Screen Project吵的很熱鬧,ken跟我說了後上網去查了查這新聞 這一查不得了啦!讓人著實興奮。 Open Screen Project的意思就是,Adobe要在只要是螢幕上看的到的,全有flash player的支援 要比跨平台還跨,而且在swf跟flv的商業授權上做到相當程式的開放。 這樣一來,flash的應用將十分可怕,看來Adobe為了對付微軟的sliverlight真的發足了狠招了。 再來就是swf、flv、amf的開源,雖已有open source做出來,但這種著實的發展很讓人興奮。 衝吧!flash developer... p.s. http://www.adobe.com/openscreenproject/developers/

swfObject 2.0的奇怪bug

不知道為啥,swfObject 2.0 的flash尺寸當設定為100%的時候, 在FireFox下看是有問題的(看不到)。 這讓我喜歡使用全螢幕的表現而不敢用2.0。 不然2.0有所謂的不用生成新物件的方法(其實我還不太懂他的真實意義,哈~) ...嗯...1.5先用吧!

swfadress 2.01版出來了囉!

swfadress 2.0 多了不少很很實用性的功能,對as3的支援度也比較完整。 新功能如下: Support for multiple Flash movies and Ajax. Event listeners for ActionScript and JavaScript. New SWFAddressEvent class with support for INIT and CHANGE types. New unobtrusive SEO technique. Support for Adobe Flash CS3. Support for Flash Player 7 with the Flash/JavaScript Integration Kit. Support for SWFObject 2.0 , UFO and Adobe's Active Content embedding. New strict mode that adds trailing slashes by default. New helper methods for link, window and popup management. Ability to configure the script with query parameters. The swfaddress.html is optional and not used by default. Lots of new and improved Flash based samples. Various optimizations and fixes. API docs for ActionScript 3 and JavaScript. 跟偵聽系統完全mathch嗎?試了才知道. 我比較在乎的是 SEO 的整合性如何,畢竟這一直是flash user的痛, swfadress 號稱他解決了這樣的問題(我還沒試驗,試了再跟大家報告)。 New helper methods for link, window and popup management. 多了一些實用的方法, 說是完全不會擋視窗啦,大家可以試看看 !我去玩囉。

Flex 2 Programming中文版權

圖片
之前只有看到英文版的,這也算是中文書目前唯一對 Flex 有比較詳細的介紹書。 還沒開始看,今天在 天瓏 收入手的。 先列一下前面幾個章節: 第三章MXML 第四章 ActionScript 第五章框架基礎 第六章版面配置管理 第七章使用UI元件... .....共十九章,好了...這麼多書,怎麼看起是個大問題。

Flash10的影片

嗯...首頁,影片角色有像AE一樣的路徑控制。 然後可以設定角色骨架(把以前的外掛集合?) 下面這支影片,展示了3d效果...paperversion3d like?不知道 結論是flash將來一定很炫.......就看以後有沒有硬體來配合玩更多的互動了!

FDT3發佈了!

可能很多朋友都知道了,不過還是貼一下文比較好。 http://fdt.powerflasher.com/

AS2摸擬水中泡泡

在圖庫裡新增一個影片角色ball,然後設計好你需要的水泡形狀後, 在ball的時間軸影格上鍵入以下的code: var _targetx:Number = Math.random()*30-Math.random()*30; var _ymov:Number = Math.random()*3+1; this._x = Math.random()*100; this._xscale = this._yscale=Math.random()*300; this._alpha = Math.random()*80; var _vx:Number = 0; var k:Number = 0.01; function onEnterFrame() { this._y -= _ymov; _vx += (this._targetx-this._x)*k; this._x += _vx; if (this._y this._alpha = this._alpha-1; } if (this._alpha delete this.onEnterFrame; this.removeMovieClip(); } } 而後在圖庫中選其ball角色,按滑鼠右鍵,點選屬性。將匯出給action script使用打勾, 然後在識別名稱上打入ball_mc。 最後在場景時間軸上鍵入以下code: ball._x = 300; ball._y = 300; this.createEmptyMovieClip("ball",1) this.ball._x=Stage.width/2; this.ball._y=Stage.height; var Id1:Number = setInterval(ball_mov, 100); var i:Number = 0; function ball_mov() { ball.attachMovie("ball_mc", "ball_mc1", i); i++; if (i>500) { i = 0; } } 就可以看到泡泡的....以後有空再把這個弄成class會方便點。

AS2簡單的mouse互動class

先制作一個名為 movemouse 的class 程式碼如下: class followmouse { var _x, _y; function followmouse(x_mc, speed, _damp) { var tx = 0; var ty = 0; x_mc.onEnterFrame = function () { var _vx = (_xmouse - _x) * speed; var _vy = (_ymouse - _y) * speed; tx = tx + _vx; ty = ty + _vy; x_mc._x = x_mc._x + tx; x_mc._y = x_mc._y + ty; tx = tx * _damp; ty = ty * _damp; }; } } 然後在新建立的fla裡,建立一個實體名稱為ball_mc的影片角色, 在時間軸上下如下的語法 var ballmov:followmouse=new followmouse(ball_mc,0.1,0.9); ball_mc為場景上的影片名稱,0.1的位置為速度,0.9為摩擦力, 可以代入不同的數字來測試效果。

swfobject的實用性

一般我們在網頁中加入flash的code是類似下面的程式碼: < object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="900" height="600">< br /> < param name="movie" value="swf/index.swf"> < param name="quality" value="high"> < embed src="swf/index.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="900" height="600"> < /embed> < /object> 感覺又臭又長的,也不方便使用,還有就是AC_FL_RunContent這個Adobe放出來的script組件實在是不怎麼好用... 再看下面這一排: < script type="text/javascript"> var so = new SWFObject("swf/intro.swf", "intro", "100%", "100%", "8", "#FFFFFF"); so.addVariable("flashVarText", "this is passed ...

AS3使用FlasVars的方式

在flash的object code上加一行 param name="FlashVars" value="page=about&page2=about2" 而在flash中要提取變數的方式為FlashVars.text = root.loaderInfo.parameters["page"]; 而不是以前在as2所直接叫用的方式。 AS3最大的改變就是什麼事都要說清楚....講明白

AS2的迴圈

for (i=0; i this.attachMovie("test_mc", "test"+i, i, {_y:i*50}); var contain:MovieClip = this["test"+i]; trace("目前:"+i); contain.onPress = function() { trace(i); }; } 這樣的語法似乎可行,但所有的test影片trace出來的結果都是10。 改用onEnterFrame後: for (i=0; i this.attachMovie("test_mc", "test"+i, i, {_y:i*50}); var contain:MovieClip = this["test"+i]; trace("目前:"+i); contain.onEnterFrame = function() { trace(i); delete this.onEnterFrame; }; } //trace 目前:0 目前:1 目前:2 目前:3 目前:4 目前:5 目前:6 目前:7 目前:8 目前:9 10 10 10 10 10 10 10 10 10 10 看來as2會先把迴圈執行完成後,才對MovieClip的事件方法下定義。 所以解決的方式必需為: for (i=0; i this.attachMovie("test_mc", "test"+i, i, {_y:i*50}); var contain:MovieClip = this["test"+i]; trace("目前:"+i); contain.i=i; contain.onEnterFrame = function() { trace(this) trace(this.i); delete this.onEnterFrame; }; } 但有意思的是trace出來後的結果是 目前:0 目前:1 目前:2 目前:3 目前:4 目前:5 目前:6 目前:7 目前:8 目前:9 _level0.te...

AS3的存取方式效率

http://www.kingda.org/archives/kingda/2007/09/as313as3.html 如下幾種存取數據方式100萬次存取運算效率依次為: * 類定義中的屬性(如public、private類屬性) 135 毫秒 Point類對象 140 毫秒 Rectangle類對象(x等屬性) 140ms * Array類對象 270ms * Object類對象 500 ms 動態類動態屬性 550 * Rectangle類對象(left等屬性) 700 * 自定義類getter/setter 1000 自定義類Function 1000 在黑羽的部落格看到的效能比較,有些地方很有意思。 對as3的物件取用有點觀念幫助良多。

邦邦的Paperverion3D

http://mmug.com.tw/forum/mmug_meet.php?m_id=42 想玩flash 3d的人快衝吧! 希望能看到更多應用。