<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-4834252038151358178</id><updated>2009-11-11T19:52:55.667+08:00</updated><title type='text'>擴擴咱 2.0</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.mediakid.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default?start-index=26&amp;max-results=25'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>99</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-4184424874826523014</id><published>2009-07-23T14:14:00.005+08:00</published><updated>2009-08-02T09:31:12.351+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Catalyst'/><title type='text'>練習了官方的 Flash Catalyst Beta 教學</title><content type='html'>因為想了解Flash Catalyst，所以拿了官方所提供的教學資源 &lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/#getstarted"&gt;Learn to Use Flash Catalyst @ Adobe Labs&lt;/a&gt; 來看，一邊看還一邊做了無聊的個人筆記。這些官方資源看完後發現裡面列的link&lt;b&gt;太多重複內容了，其實只要看我列出的最前面兩篇，也就是Lee Brimelow的教學就可以了&lt;/b&gt;。&amp;lt;---本篇唯一重點&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
練習結果：&lt;br /&gt;
&lt;object align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" height="420" id="FC_Lee_Tutorial" name="FC_Lee_Tutorial" width="350"&gt;&lt;param name="_cx" value="13467"&gt;&lt;param name="_cy" value="7938"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://mediakidlab.googlepages.com/FC_Lee_Tutorial.swf"&gt;&lt;param name="Src" value="http://mediakidlab.googlepages.com/FC_Lee_Tutorial.swf"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="0"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value=""&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="sameDomain"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value="FFFFFF"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="false"&gt;&lt;embed src="http://mediakidlab.googlepages.com/FC_Lee_Tutorial.swf" quality="high" bgcolor="#ffffff" name="FC_Lee_Tutorial" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="420" width="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
心得：(1) 覺得把&lt;b&gt;互動設計&lt;/b&gt;的流程獨立出來不只是有幫助，對開發流程來說更是一大創新，個人覺得這種創新是有實際幫助的，而不只是口號 ( &lt;a href="http://www.riameeting.com/node/255"&gt;了解Flash Catalyst&lt;/a&gt; )。也許現在還不太可能，可是未來FC這種軟體更為完善的時候，很有可能會有真正的"純互動設計師"這樣的工作出現。&amp;nbsp; (2) FC拉出來的檔案都好大，雖然code看起來很簡潔。 (3) 動態效果不是那麼好控制，Timeline上已經安排好的東西在切換state時會不見。關閉輸入框(demo裡最上面的bar可以按)的動態效果操作過一輪以後就爛掉了(code裡頭的Transition的startDelay效果不見了)。(4) 現在內建支援的component極少，官方的人在討論區說正式版全部的component都會有。(5) 好像也不能反過來從FB匯入到FC，我試著把FB改過的code存成zip再改名為fxp，然後試圖匯入到FC結果是失敗的。(6) FC充滿了bug，執行時吃的記憶體資源也很恐怖。&lt;br /&gt;
&lt;br /&gt;
--------- "不寫Plurk而寫Blog的理由"之分隔線 ----------&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.gotoandlearn.com/play?id=110" target="_blank"&gt;Using Flash Catalyst and Flex 4 – Part 1: &amp;nbsp;Design a Twitter search app&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.gotoandlearn.com/play?id=111" target="_blank"&gt;Using Flash Catalyst and Flex 4 – Part 2: Hook up the app to live data&lt;/a&gt;&lt;br /&gt;
這兩篇是Lee Brimelow的教學影片，第一篇包涵了其他link裡大部分的基本操作。第二篇跑了FC--&amp;gt;FB的流程，從FC輸出fxp， 匯入到Flash Builder後，替按鈕加上一個click event，然後用as傳參數給Twitter的api，很快就做出一個讀Twitter資料的AP了。(因為這兩篇link列得太後面，跟其他篇重複，所以沒新東西可以記了)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/overview/"&gt;Introducing Flash Catalyst&lt;/a&gt;&lt;br /&gt;
介紹如何把設計檔裡面的圖像很快地轉換成互動元件(ex:Button)，然後在元件上添加與"pages/states"的互動 ( pages/states直接翻譯就是"頁面"、"狀態"，是Flex Framework用來控制流程的機制，為了解釋之便，pages/states可以類比為Flash的Keyframe，不同pages/states之間可以添加tween effect做補間動態)&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;在Photoshop裡編輯的Layer匯入Flash Catalyst後會被保留，只是在Photoshop裡加的Style(ex:框線和陰影)匯入到FC後，直接被轉成點陣的格式了。&lt;/li&gt;
&lt;li&gt;旋轉過的文字匯入以後，旋轉會失效，文字會被轉回正的。&lt;/li&gt;
&lt;li&gt;預設的Preview會叫出IE，我不想跑兩套broswer，所以修改了Browser的設定(Preference)，修改方法可見 &lt;a href="http://ticore.blogspot.com/2009/06/flash-catalyst-beta-trick.html"&gt;Flash Catalyst beta 小技巧 @ Ticore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;內建的圖形編輯工具很陽春，ex:拖到畫面上的Text的元件不能雙擊直接修改文字，屬性部分只有text, rect, size, color, font等屬性可調，text甚至不能paste文字 &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Bug出現！新增了第四個state後，某一層layer裡面的子layer的"眼睛"開關不了&lt;/li&gt;
&lt;li&gt;選取物件的功能怪怪的，用滑鼠拉出來的選取框框沒碰到的物件也被選到了&lt;/li&gt;
&lt;li&gt;作完了我的第一個範例後輸出swf，檔案size高達 2 mb！檢查後發現800x600的漸層背景匯入到FC以後，被轉成點陣的png格式，一個背景圖檔的size就佔了300k，這應該是從非向量軟體匯入的缺點。滑鼠點擊背景圖--&amp;gt;按右鍵的話，可以發現有一個按鈕叫做"Convert to Optimized Graphics"，不知道是做什麼用的，本來以為跟縮小圖檔的size會有關係，可是實際點擊以後size大小幾乎沒有什麼變化。&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/wirefr/"&gt;Wire Framing in Flash Catalyst&lt;/a&gt;&lt;br /&gt;
介紹怎麼拿WireFrame Components(就是內建的component)來建立自製的component，以及如何在timeline裡面修改transition effect&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;設計檔的圖檔除了可以轉換成很基礎的內建元件外，也可以轉換成自製的custom component，轉成自製元件後，元件內就有了自己的state。在畫面上點兩下自製元件可以進到自製元件內編輯，就像編輯MovieClip一樣&lt;/li&gt;
&lt;li&gt;講到替一個按鈕加上雙向action的地方，&lt;s&gt;好像沒講清楚，講者只替第二個階段的按鈕加上action，按下按鈕後會跳到第一個階段。但第一個階段的按鈕沒加任何action，怎能夠跳回第二階段!!?? 應該是"兩個階段共用一個按鈕"這個步驟跳過去了吧&lt;/s&gt; 後來看懂了，設定互動的條件時，"when"可以替每個階段都加上互動 &lt;/li&gt;
&lt;li&gt;用timeline控制transition很方便！&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/firstapp/" onclick="OpenWindow('/technologies/flashcatalyst/tutorials/firstapp/',710,490,'scrollbars=no,menubar=no,toolbar=no,location=no,status=no,resizable=yes,left=150,top=150'); return false" target="_blank"&gt;Create your First Application with Flash Catalyst&lt;/a&gt;&lt;br /&gt;
這篇的內容跟前面的嚴重重複啦，沒講什麼新東西，可以跳過&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.adobe.com/devnet/flashcatalyst/articles/building_datacentric_app_flashcast_flashbuilder.html" target="_blank"&gt;Build a Data-Centric Application Using Flash Catalyst and Flash Builder 4&lt;/a&gt;&lt;br /&gt;
介紹用設計檔案的元件拉出比較複雜的元件 Scrollbar和 DataList，既簡單又有趣。這個範例的過場動態效果(transition)有添加時間差的效果。範例後面說明把設計好的檔案丟給Flash Builder以後，用FB內建的視覺化工具可以設定從ColdFusion把資料讀出來，這邊就沒看了。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;將圖形轉換為比較複雜的元件時，HUD右上角會出現"Component Issue (!)"，表示需要點擊"Edit Parts"，分別設定子元件&lt;/li&gt;
&lt;li&gt;設定VScrollbar的子元件的介面操作"異常"簡單，把相關物件都選起來後，按右鍵轉成VScrollbar元件，然後點進去元件裡面以後，HUD視窗裡已經列出候選名單讓你一一勾選哪個元件對哪個規格，VScrollbar來講主要是有四個子元件要對應，上下按鈕、軌道、拖曳bar(thumb)&lt;/li&gt;
&lt;li&gt;轉換DataList也"異常"簡單，把相關的設計元件全部選起來轉成DataList，然後Edit Parts裡面只要選哪個元件要當作"Repeated Item"，選好以後那個Repeated Item物件就自己repeat了起來&lt;/li&gt;
&lt;li&gt;選取Repeated Item時，properties有選項可以設定垂直/水平排列、間距、對齊等&lt;/li&gt;
&lt;li&gt;轉換複雜的元件簡單得真是十分神奇，轉到code mode去看，發現code也十分精簡&lt;/li&gt;
&lt;li&gt;建構好DataList元件後，可以切到Design-Time Data視窗，所謂的Design-Time Data就是讓我們可以先丟一些假的資料，測試一下資料量多寡時介面的變化&lt;/li&gt;
&lt;li&gt;要讓Scrollbar跟DataList有關聯的方法是把Scrollbar剪下貼上到DataList裡，Scrollbar就自動產生作用了，酷&lt;/li&gt;
&lt;li&gt;在State上面按右鍵可以設定"Set Default State"&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/fw/" onclick="OpenWindow('/technologies/flashcatalyst/tutorials/fw/',710,490,'scrollbars=no,menubar=no,toolbar=no,location=no,status=no,resizable=yes,left=150,top=150'); return false" target="_blank"&gt;Use Native Fireworks CS4 Files in Flash Catalyst&lt;/a&gt;&lt;br /&gt;
作FC不一定要從設計檔(psd, ai)匯入，也可以把個別的圖檔讀到FC的"Library"裡面用。再來我就看不太懂了，只看懂從FC可以直接呼叫別的軟體編輯FC裡面的圖檔，然後立即更新，後來不曉得為什麼png檔被Illustrator修改過以後就變成存成.fxp檔。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/libraries/" onclick="OpenWindow('/technologies/flashcatalyst/tutorials/libraries/',710,490,'scrollbars=no,menubar=no,toolbar=no,location=no,status=no,resizable=yes,left=150,top=150'); return false" target="_blank"&gt;Sharing Flash Catalyst Libraries&lt;/a&gt;&lt;br /&gt;
介紹怎麼跨FC專案共用"Library"的設計檔和自製Component&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;匯出：在Libary的物件上面按右鍵 --&amp;gt; export libary package --&amp;gt; 存成 *.fxpl 格式 &lt;/li&gt;
&lt;li&gt;匯入的話就是在同樣的menu裡面選 Import Library Package&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-4184424874826523014?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/4184424874826523014/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=4184424874826523014&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4184424874826523014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4184424874826523014'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/07/flash-catalyst-beta.html' title='練習了官方的 Flash Catalyst Beta 教學'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-2525938828065069381</id><published>2009-07-14T10:01:00.010+08:00</published><updated>2009-07-24T12:13:23.502+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TileList'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>修改TileList元件的ScrollBar位置</title><content type='html'>&lt;div style="text-align: justify;"&gt;開始使用Flex開發不久，就遇到了一個不簡單的設計，就是設計師設計了一個把ScrollBar從預設的右邊移到左邊去的TileList，本以為這應該很常見，搜尋了一下竟找不到現成的改法，索性只好自己新手駕駛了。&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;TileList是繼承自ListBase的，而ListBase裡面可以找到&lt;b&gt;verticalScrollBar&lt;/b&gt;和&lt;b&gt;horizontalScrollBar&lt;/b&gt;這兩個唯一跟scrollbar有關的class property，改變這兩個物件的位置的時候，發現就可以移動scrollbar的位置了，就這麼簡單阿(?)。下面是修改後的code，簡單說明：新建的自訂元件&lt;b&gt;LeftScrollBarTileList&lt;/b&gt;繼承自TileList，在複寫updateDisplayList方法的地方，判斷verticalScrollBar是否有被產生出來，有的話，就把它拉到最左邊，也就是verticalScrollBar.x = 0。&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;LeftScrollBarTileList.as &lt;/b&gt;&lt;br /&gt;
&lt;pre class="brush:js" name="code"&gt;/* Copyright (c) 2009 blog.mediakid.org. All Rights Reserved. */
package {
    import mx.controls.TileList;
    public class LeftScrollBarTileList extends TileList {
        public function LeftScrollBarTileList() {
            super();
        }
        protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                // 確認vertical是否存在
                if (verticalScrollBar &amp;amp;&amp;amp; verticalScrollBar.visible){
                    verticalScrollBar.x = 0; // 移動scrollbar
                }
        }
    }
}
&lt;/pre&gt;使用元件的主程式&lt;b&gt;main.mxml&lt;/b&gt; &lt;br /&gt;
&lt;pre class="brush:js" name="code"&gt;&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;!--
//  Copyright (c) 2009 blog.mediakid.org. All Rights Reserved.
--&amp;gt;
&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12" 
backgroundColor="#F0F0F0" 
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
width="450"
height="350"
&amp;gt;

&amp;lt;mx:Script&amp;gt;
&amp;lt;![CDATA[
import mx.collections.XMLListCollection;
private var xml:XMLList = 
&amp;lt;&amp;gt;
&amp;lt;content&amp;gt;1&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;2&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;3&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;4&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;5&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;6&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;7&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;8&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;9&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;10&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;11&amp;lt;/content&amp;gt; 
&amp;lt;content&amp;gt;12&amp;lt;/content&amp;gt;
&amp;lt;content&amp;gt;13&amp;lt;/content&amp;gt;
&amp;lt;/&amp;gt;;
[Bindable] private var ac : XMLListCollection = new XMLListCollection(xml);
]]&amp;gt;
&amp;lt;/mx:Script&amp;gt;
&amp;lt;mx:Panel 
title="Reposition the scrollbar" 
height="300" 
width="400" &amp;gt;
&amp;lt;local:LeftScrollBarTileList
id="scroll"
dataProvider="{ac}"
xmlns:local="*" 
columnCount="2"
rowHeight="80"
borderStyle="none"
width="100%"
height="100%"
alternatingItemColors="[#FFFFFF,#CCCCCC,#999999]"
/&amp;gt;
&amp;lt;/mx:Panel&amp;gt;
&amp;lt;/mx:Application&amp;gt;

&lt;/pre&gt;問題來了，雖然scrollbar是移到左邊了，可是TileList的右側仍然保留了預設的scrollBar的空間，事實上移動到左邊的scrollbar也壓到了一部分的TileList。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/Slvm04ZV6wI/AAAAAAAASJQ/z1LZTjLxMgw/s1600-h/tilelistgap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/Slvm04ZV6wI/AAAAAAAASJQ/z1LZTjLxMgw/s400/tilelistgap.png" /&gt;&lt;/a&gt;&lt;/div&gt;繼續trace發現，顯示"被拖曳內容"的是容器listContent，listContent上面還加了一個maskShape遮罩，所以scrollbar被移到左邊以後，這兩個物件的位置也要一併往右移動一些。只有這樣還不夠，listContent在更新位置的時候都會加上位移量leftOffset，所以leftOffset也要加上位移量，否則的話，每次一更新位置，listContent就會又跑回原來的位置。新增修改如下： &lt;br /&gt;
&lt;pre class="brush:js" name="code"&gt;/* Copyright (c) 2009 blog.mediakid.org. All Rights Reserved. */
package {
    import mx.controls.TileList;
    public class LeftScrollBarTileList extends TileList {
        public function LeftScrollBarTileList() {
            super();
        }
        protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                // vertical
                if (verticalScrollBar &amp;amp;&amp;amp; verticalScrollBar.visible){
                    verticalScrollBar.x = 0; // 移動scrollbar
                    this.listContent.x =  verticalScrollBar.width; // 移動被拖曳內容
                    this.maskShape.x = this.listContent.x; // 移動被拖曳內容的mask
                    this.listContent.leftOffset = verticalScrollBar.width; // 設定被拖曳內容的位移量，如果是垂直的scrollbar則用topOffset
                }
        }
    }
}&lt;/pre&gt;效果Live Demo： &lt;object align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" height="400" id="LeftScrollBarTileListOffset" name="LeftScrollBarTileListOffset" width="500"&gt;&lt;param name="_cx" value="13467"&gt;  &lt;param name="_cy" value="7938"&gt;  &lt;param name="FlashVars" value=""&gt;  &lt;param name="Movie" value="http://mediakidlab.googlepages.com/LeftScrollBarTileListOffset.swf"&gt;  &lt;param name="Src" value="http://mediakidlab.googlepages.com/LeftScrollBarTileListOffset.swf"&gt;  &lt;param name="WMode" value="Window"&gt;  &lt;param name="Play" value="0"&gt;  &lt;param name="Loop" value="-1"&gt;  &lt;param name="Quality" value="High"&gt;  &lt;param name="SAlign" value=""&gt;  &lt;param name="Menu" value="-1"&gt;  &lt;param name="Base" value=""&gt;  &lt;param name="AllowScriptAccess" value="sameDomain"&gt;  &lt;param name="Scale" value="ShowAll"&gt;  &lt;param name="DeviceFont" value="0"&gt;  &lt;param name="EmbedMovie" value="0"&gt;  &lt;param name="BGColor" value="FFFFFF"&gt;  &lt;param name="AllowNetworking" value="all"&gt;  &lt;param name="AllowFullScreen" value="false"&gt;  &lt;embed src="http://mediakidlab.googlepages.com/LeftScrollBarTileListOffset.swf" quality="high" bgcolor="#ffffff" name="LeftScrollBarTileListOffset" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="400" width="500"&gt;&lt;/embed&gt;&lt;/object&gt; 修改後的效果看似是ok的，但沒有完整的trace完全部的code，所以不曉得是否有更好的解法。而這個改法雖是以TileList為例，但我想對於所有繼承自ListBase的元件都是一樣的作法吧。以上方法同理也可以用來把預設位於下方的horizontalScrollBar改成位於上方。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-2525938828065069381?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/2525938828065069381/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=2525938828065069381&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2525938828065069381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2525938828065069381'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/07/list-basedscrollbar.html' title='修改TileList元件的ScrollBar位置'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WPPRdPoIeM8/Slvm04ZV6wI/AAAAAAAASJQ/z1LZTjLxMgw/s72-c/tilelistgap.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-1628118152493081568</id><published>2009-07-12T17:39:00.010+08:00</published><updated>2009-07-13T10:39:19.584+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder 4'/><title type='text'>申請延長Flash Builder 4 beta的測試時間</title><content type='html'>Flash Builder 4 beta才試用沒幾次就過了試用期了，不過還好Adobe也有提供合法的延長時間的申請。申請方法就是先到一個非常熟析的地方，拿出你那非常多才多藝的Flex Buidler 3序號填入申請表格，並填一些很簡單資料就可以了。熟析地方的位址：&lt;br /&gt;
&lt;a href="https://freeriatools.adobe.com/flashbuilder4beta/" blank="_new"&gt;Adobe® Flash™ Builder 4 Beta Extension Request&lt;/a&gt;&lt;br /&gt;
&lt;center&gt;&lt;img src="http://lh6.ggpht.com/_WPPRdPoIeM8/Slmu9j7eQ3I/AAAAAAAASJI/mKC2bLZS8uA/s400/freeadobetool.png" /&gt;&lt;/center&gt;&lt;br /&gt;
又是freeriatools！填完表格之後很快就會收到申請信了。不過其實各位也不用勞駕去申請了，因為我發現每個申請人拿到的序號都是同一組：&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1377-4009-6596-2357-9400-4885&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
所以就請直接取用吧。這麼說Flash Builder 4 beta幾乎就是可以無限期試用的，真是越來越欣賞Adobe式的睜一隻眼閉一隻眼了。這次的測試時間可以多久我不知道，&lt;s&gt;還沒裝上去&lt;/s&gt; 剛剛裝上去了，開啟的時候就沒有什麼倒數的提醒了，所以應該是沒有限時間了，不過我想官方也不怕大家用，用了就是測了，而且這只是Beta版而已，未來正式版出來肯定會修正一些Bug、效能和新增些功能。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-1628118152493081568?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/1628118152493081568/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=1628118152493081568&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1628118152493081568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1628118152493081568'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/07/flash-builder-4-beta.html' title='申請延長Flash Builder 4 beta的測試時間'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_WPPRdPoIeM8/Slmu9j7eQ3I/AAAAAAAASJI/mKC2bLZS8uA/s72-c/freeadobetool.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-1704161465750412205</id><published>2009-06-30T09:26:00.001+08:00</published><updated>2009-06-30T09:35:09.653+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Book'/><title type='text'>Before you thinking in Flex, you step in Flex first</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_WPPRdPoIeM8/SadZO6wCXOI/AAAAAAAANXE/MWTM7l3SLd0/s1600-h/firststepsinflexfrontcover.jpg" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SadZO6wCXOI/AAAAAAAANXE/MWTM7l3SLd0/s320/firststepsinflexfrontcover.jpg" style="cursor: move;" /&gt;&lt;/a&gt;原來Thinking in Java的作者Bruce Eckel大師有出Flex的書：&lt;a href="http://www.mindviewinc.com/Books/FirstStepsInFlex/Index.php" style="text-decoration: none;"&gt;First Steps in Flex&lt;/a&gt; (不叫Think in Flex喔～)，這不是一本大部頭書，全書只有140頁，與Adobe evangelist for Flex : James Ward 一起合著的。兩位作者希望以最簡潔的方式向初學者介紹Flex，從網頁資料裡面看起來，我覺得這本書更像是為了他們辦的活動所寫的講義。書本的網站上可以取得第一、二章試閱 PDF。&lt;br /&gt;
&lt;br /&gt;
這對大多數Flasher / Flexer而言這應該不是什麼"新"聞了，但小弟我最近才發現這件事覺得很驚喜，所以就來湊個熱鬧。&lt;br /&gt;
&lt;br /&gt;
而且我覺得這本書來的真是好，講再多Flex多強多標準，也比不上跟別人說"Java大師Bruce Eckel大師也有出Flex書"來得有用。&lt;br /&gt;
&lt;div style="margin: 0px;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-1704161465750412205?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/1704161465750412205/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=1704161465750412205&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1704161465750412205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1704161465750412205'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/06/before-you-thinking-in-flex-you-step-in.html' title='Before you thinking in Flex, you step in Flex first'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WPPRdPoIeM8/SadZO6wCXOI/AAAAAAAANXE/MWTM7l3SLd0/s72-c/firststepsinflexfrontcover.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-2747721031383392195</id><published>2009-04-03T10:45:00.009+08:00</published><updated>2009-04-03T11:11:51.003+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>收到Adobe寄來的免費AS 3 and Flex API 海報</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://picasaweb.google.com/lh/photo/fYE1AQZI2-CaxPaJqfo4nA?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_WPPRdPoIeM8/SdLRxnc3z6I/AAAAAAAAQEM/MmbTXp73IKE/s400/20090331621.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;就在大前天收到一個閃很大的神秘禮物，就是Adobe寄來的免費AS3 和 Flex 海報。用裝海報的紙筒寄來的，寄件地址是美國加州，也就是Adobe總部的所在州。&lt;br /&gt;
&lt;span id="detail"&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img height="400" src="http://lh4.ggpht.com/_WPPRdPoIeM8/SdLRvGHJkwI/AAAAAAAAQD0/4sqjdTPnLq0/s400/20090331619.jpg" width="300" /&gt;&lt;/div&gt;打開紙筒以後從裡面拿出厚厚一疊的海報，包括一張AS3 class diagram (Flash Player 9，詳細版本沒仔細研究)，兩張Flex Framework Core API 、一張 Flex Additional Component API、一張Flex Advanced Component API。另外還有一個好料是&lt;a href="http://lynda.com/"&gt;Lynda.com&lt;/a&gt;&amp;nbsp;的DM，上面有一個月免費線上訓練課程的啟用序號。收到的資料裡面還有一張5元美金的運費收據，但我完全沒印象當時有付任何的運費。&lt;br /&gt;
&lt;br /&gt;
記得是在三月初的時候，本來只是要找之前在Flex.org看到的海報pdf檔，但pdf的連結不見了，取而代之的是官方的網站&amp;nbsp;&lt;a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=posters"&gt;ActionScript 3 and Flex API posters&lt;/a&gt;&amp;nbsp;，上面說用正版Flex Builder序號就可以免費取得海報，雖然我的序號是當初用"&lt;a href="https://freeriatools.adobe.com/flex/"&gt;教育界免費申請&lt;/a&gt;&amp;nbsp;"的方案取得的，但還是厚著臉皮試試看，沒想到這樣竟然也行！&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://lh4.ggpht.com/_WPPRdPoIeM8/SdR1X2z09pI/AAAAAAAAQIY/wjkI74HlntQ/s400/20090402634.jpg" /&gt;&lt;/div&gt;趕快找地方把它貼起來看看，真的是非常的賞心悅目吶～ 但五張都貼起來實在太高調了，只貼了兩張就成為大家好奇許久的焦點了，從其他人的回應看起來，其他的平台好像沒有這種免費服務，更不用說這些海報又是這麼的有設計感啦。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-2747721031383392195?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/2747721031383392195/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=2747721031383392195&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2747721031383392195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2747721031383392195'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/04/adobeas-3-and-flex-api.html' title='收到Adobe寄來的免費AS 3 and Flex API 海報'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_WPPRdPoIeM8/SdLRxnc3z6I/AAAAAAAAQEM/MmbTXp73IKE/s72-c/20090331621.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-9167949095651280572</id><published>2009-03-08T10:38:00.007+08:00</published><updated>2009-03-08T11:35:45.241+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>發現Ping.fm支援Blogger有1 Bug + 4 缺點</title><content type='html'>玩了一陣子從Ping.fm發文到Blogger的功能以後，發現Ping.fm支援Blogger的問題還真不少，有一大Bug + 4大缺點，使得Ping.fm支援Blogger的這個美意變得有一些雞肋。來紀錄一下然後丟給官方看看會不會有什麼反應。&lt;br /&gt;
&lt;span id="detail"&gt; &lt;br /&gt;
&lt;b&gt;1 Bug ( stops you from posting msgs to Blogger )&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Situation:&amp;nbsp;如果Blogger的"設定(settings)" --&amp;gt; "意見(comments)" --&amp;gt; "上一頁連結(back links)" --&amp;gt; 為"顯示(show)"，則Ping.fm輸出到Blogger的訊息就不會出現。隨便搜尋一下發現很少有人反應這個Bug，以為是中文版才有的問題，可是把Blogger版本改成英文版以後，測試結果也是一樣。( It stops you from posting msgs to Blogger if you follow this setting :&amp;nbsp;settings &amp;nbsp;--&amp;gt; &amp;nbsp;comments --&amp;gt; &amp;nbsp;back links --&amp;gt; &amp;nbsp;show )&lt;br /&gt;
&lt;br /&gt;
Solution: 將"上一頁連結(back links)" --&amp;gt; 設定為剩下的另一個選項 "隱藏"。(Switch "back links" from "show" to "hide" can do the trick.)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4 Drawbacks&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
(1) &amp;nbsp;Blogger標題不能輸入中文&lt;br /&gt;
&lt;br /&gt;
在Ping.fm用blog選項輸出訊息的話，填寫處會跑出一個標題欄位，但在這個欄位輸入的中文標題都會變成亂碼。&lt;br /&gt;
&lt;br /&gt;
(2)&amp;nbsp;"設定標題"功能沒作用&lt;br /&gt;
&lt;br /&gt;
撰寫Ping.fm訊息時可以用一個「&lt;span style="font-weight: bold;"&gt;^&lt;/span&gt;」符號區別Blogger文章的標題和內文，ex：「我是標題^而我是內文」，為方便說明，暫稱這個功能為"設定標題"。&lt;br /&gt;
&lt;br /&gt;
缺點發生於想要一次對所有service發文時，發給blogger的"設定標題"功能會失效，而且發給其他不需要標題的service(ex:Twitter、Plurk、FaceBook)時反而保留了那個"設定標題"。也就是說，想要的效果出不來，但不想要的效果卻出現了。這樣子的話，就要選擇發出沒有標題的Blogger文章或者一次發文給全部service。&lt;br /&gt;
&lt;br /&gt;
(3) 不能區別Blogger子站&lt;br /&gt;
&lt;br /&gt;
Ping.fm開啟發文給Blogger功能的時候，會讓使用者選擇要對Blogger帳號底下的哪些blogspot(子站)發文，可是發文的時候沒有功能區別要發文給哪個blogspot，就變成所有blogspot都要post一樣的東西。&lt;br /&gt;
&lt;br /&gt;
(4) &amp;nbsp;不支援輸入文章tag&lt;br /&gt;
&lt;br /&gt;
發出的Blogger文章不支援輸入tag。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-9167949095651280572?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/9167949095651280572/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=9167949095651280572&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/9167949095651280572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/9167949095651280572'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/02/pingfmblogger1-bug-4.html' title='發現Ping.fm支援Blogger有1 Bug + 4 缺點'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-3863344246737661102</id><published>2009-02-17T11:46:00.200+08:00</published><updated>2009-02-21T17:29:13.235+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='PureMVC'/><title type='text'>PureMVC學習筆記：初識</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WPPRdPoIeM8/SZowAALqj8I/AAAAAAAAMKM/khdg0lN0qZw/s1600-h/PureMVClogo.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SZowAALqj8I/AAAAAAAAMKM/khdg0lN0qZw/s400/PureMVClogo.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;紀錄一下目前所認識的PureMVC，最近看到蠻多前輩寫關於PureMVC的學習心得，但我寫的最沒啥重點，我只是把自己有興趣的部分紀錄一下而已，內容絕對很貧乏，開始！...&lt;br /&gt;
&lt;span id="detail"&gt;&lt;br /&gt;
PureMVC是一套免費且open source的framework，架構於MVC設計模式之上，PureMVC最主要的目標是幫助開發人員在開發應用程式時(尤其具有User Interface的程式)，將程式的Model(資料), View(介面) , Controller(控制)三端耦合度降低，耦合度降低以後的好處有：使reuse可能性提高、易於維護、易於協同合作等。PureMVC 一開始以AS3語言實作，後來官方將這個framework陸續移植到多種語言平台上，如：Java, C#, JavaScript, PHP...甚至還有最近很熱門的Objective C和Ruby。PureMVC裡面引入了很多經典、標準的設計模式(Design Pattern)，從文件的隻字片語裡看到有被採用的pattern包括：Observer, Facade, Command, Proxy, Factory, Adaptor , Singleton, Mediator, Strategy，這些pattern在四人幫(GoF)知名的設計模式書：&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010404146"&gt;Design Patterns: Elementsof Reusable Object-Oriented Software&lt;/a&gt; 裡都可以被找到，這應該是它的賣點之一吧。目前整套framework是由作者Cliff Hall先生和他的公司Futurescale在維護。&lt;br /&gt;
&lt;br /&gt;
學習PureMVC必看官方的&lt;a href="http://puremvc.org/content/view/98/189/"&gt;說明文件&lt;/a&gt;和&lt;a href="http://trac.puremvc.org/PureMVC"&gt;範例&lt;/a&gt;，寫得非常完整。不過我覺得官方的文件對於MVC這個模式沒有特別說明是比較有陷阱的地方，如果能夠事先對單純的MVC有一個初步的概念，學習起來應該會更容易進入狀況。&lt;br /&gt;
&lt;br /&gt;
記得還沒開始學習PureMVC之前，我想了解PureMVC能不能夠被移植到C++的GUI platform上(ex:Qt)，現在我知道PureMVC的核心概念是一套與平台無關的MVC分離和溝通機制，這些機制可以用任何一種OO語言本身去實作，且不需要語言以外的API，再加上PureMVC的概念上，已經將與GUI平台有關的實作方法(例如: AS3的Event, Qt的Slot&amp;amp;Signal)獨立到View端，因此理論上任何採用OO語言的GUI平台都可以實作和採用。&lt;br /&gt;
&lt;br /&gt;
除了官方的範例，網路上也可以找到比較簡短的教學、範例以及前輩的分享，包括：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://hubflanger.com/building-a-flash-site-using-puremvc/"&gt;Building a Flash site using PureMVC&lt;/a&gt; via&amp;nbsp;hubflanger.com&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-framework/"&gt;Minimalist MVC example using the PureMVC Framework&lt;/a&gt;&amp;nbsp;via&amp;nbsp;ActionScript 3 Design Patterns&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://actionscriptnotes.com/blog/2008/03/10/renju-the-game/"&gt;Renju, The Game&lt;/a&gt;&amp;nbsp;via&amp;nbsp;ActionScript Notes&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://erinylin.blogspot.com/2008/12/flex-puremvc-standard.html"&gt;[Flex] pureMVC Standard 練習筆記&lt;/a&gt; via&amp;nbsp;Erin's Blog&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ticore.blogspot.com/2009/02/puremvc-notes.html"&gt;PureMVC 筆記&lt;/a&gt; via Ticore's Blog&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.duzengqiang.com/blog/article.asp?id=674"&gt;[原创翻译]PureMVC的十个小提示&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Head First Design Pattern裡有張MVC圖表解說得還蠻不錯的，在&lt;a href="http://books.google.com.tw/books?id=LjJcCnNf92kC&amp;amp;printsec=frontcover#PPA532,M1"&gt;Google圖書&lt;/a&gt;裡可以看到&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tzuchieh.miroko.tw/Jyemii/patternscolumn/articles/top10misc.htm"&gt;對於樣式的“十大誤解”&lt;/a&gt; 也是好文&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;最近也看到了這兩篇比較MVC framework的文章，蠻有趣的：&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.insideria.com/2009/01/frameworkquest-2008-part-6-the.html"&gt;FrameworkQuest 2008 Part 6: The Exciting Conclusion&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.adobe.com/devnet/flex/articles/flex_framework.html"&gt;Choosing a Flex framework&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-3863344246737661102?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/3863344246737661102/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=3863344246737661102&amp;isPopup=true' title='8 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3863344246737661102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3863344246737661102'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/02/puremvcoverview.html' title='PureMVC學習筆記：初識'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WPPRdPoIeM8/SZowAALqj8I/AAAAAAAAMKM/khdg0lN0qZw/s72-c/PureMVClogo.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-3942754454682507318</id><published>2009-01-29T00:11:00.002+08:00</published><updated>2009-02-04T12:18:06.187+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tooltip'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Code formatter plugin for Flex Builder</title><content type='html'>推 &amp;nbsp;&lt;a href="http://www.7yue.com/"&gt;7Yue&lt;/a&gt;&amp;nbsp;大的文章--&amp;nbsp;&lt;a href="http://www.7yue.com/post/243.html"&gt;Flex代码格式化插件&lt;/a&gt;&amp;nbsp;裡介紹的屌貨：&lt;a href="http://sourceforge.net/projects/flexformatter/"&gt;Flex Formatter&lt;/a&gt;&amp;nbsp;，這是可以在Flex Builder或Eclipse裡面自動排列(格式化)程式碼的外掛。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WPPRdPoIeM8/SX-_3vi3aEI/AAAAAAAAK58/kDj2fOgGmKQ/s1600-h/flexformatter.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SX-_3vi3aEI/AAAAAAAAK58/kDj2fOgGmKQ/s400/flexformatter.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
安裝方式&lt;br /&gt;
(1) &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=248408&amp;amp;package_id=303321&amp;amp;release_id=656626"&gt;下載.jar 檔&lt;/a&gt;&lt;br /&gt;
(2) 丟到Flex Builder 的plugin資料夾&amp;nbsp;(or "dropins" dir if you are using Eclipse 3.4 or greater)&lt;br /&gt;
(3) 重新啟動Flex Builder (如果沒有出現，就在開啟捷徑的"目標"最後面加上-clean)&lt;br /&gt;
(4) 安裝完畢，工具列上就會出現兩個新的formatter按鈕了&lt;br /&gt;
&lt;br /&gt;
「Format Flex Code」可依全部格式(ex: 字的間隔、if格式等等)重新format，「Indent Flex Code」只改變行的位置，而不更動其他的格式。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-3942754454682507318?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/3942754454682507318/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=3942754454682507318&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3942754454682507318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3942754454682507318'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/code-formatter-for-flex-builder.html' title='Code formatter plugin for Flex Builder'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WPPRdPoIeM8/SX-_3vi3aEI/AAAAAAAAK58/kDj2fOgGmKQ/s72-c/flexformatter.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-6015921829749781576</id><published>2009-01-28T09:39:00.002+08:00</published><updated>2009-02-04T12:15:15.485+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning Notes'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>在Flex Builder裡用純ActionScript開發AIR專案的方法</title><content type='html'>預設狀態下，想在Flex Builder 3裡頭開發AIR的話，只能透過建立Flex專案(Project)的方式來建立AIR專案，也就是說，在建立Flex&amp;nbsp;專案時會有開發成AIR的選項可以選(Desktop Application)，可是在純ActionScript專案中沒有這種選項時該怎麼建立能夠開發AIR專案的環境呢？&lt;br /&gt;
&lt;br /&gt;
可以參考前人的這個&lt;a href="http://bugs.adobe.com/jira/browse/FB-9303"&gt;作法&lt;/a&gt;&amp;nbsp;，是個簡單又有趣的hack。作法如下：&lt;br /&gt;
(1) 建立 Flex&amp;nbsp;Project&lt;br /&gt;
(2) 選擇&amp;nbsp;Desktop Application (runs in Adobe AIR)&lt;br /&gt;
(3) 按"下一步"&lt;br /&gt;
(4) 再次"下一步"，來到最後一個畫面&lt;br /&gt;
(5) 把最下面倒數第二行main application file欄位的副檔名，由.mxml&amp;nbsp;改成 .as&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_WPPRdPoIeM8/SW11yxvVftI/AAAAAAAAKlg/78vpPY2Cutg/s1600-h/asprojtoair.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="302" src="http://4.bp.blogspot.com/_WPPRdPoIeM8/SW11yxvVftI/AAAAAAAAKlg/78vpPY2Cutg/s400/asprojtoair.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
這樣子就可以開始用ActionScript Code開發AIR了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-6015921829749781576?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/6015921829749781576/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=6015921829749781576&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/6015921829749781576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/6015921829749781576'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/flex-builderactionscript-codeair.html' title='在Flex Builder裡用純ActionScript開發AIR專案的方法'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WPPRdPoIeM8/SW11yxvVftI/AAAAAAAAKlg/78vpPY2Cutg/s72-c/asprojtoair.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-5325220009630290749</id><published>2009-01-22T17:10:00.008+08:00</published><updated>2009-02-01T13:51:57.147+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Industrial'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>CES 2009展出採用FlashLite技術的Vizio Connected HDTV</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/SXgrfSqeCbI/AAAAAAAAKx0/rLx4YgT0X7Y/s1600-h/widgets4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/SXgrfSqeCbI/AAAAAAAAKx0/rLx4YgT0X7Y/s400/widgets4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;這是在CES 2009中展出的液晶電視Vizio Connected HDTV，它內建802.11n Wi-Fi，能夠使用以FlashLite技術開發的Yahoo! TV Widget，也因為有Flash Platform串流影片技術的支援，讓這台電視可以收看線上內容供應商與服務商所提供的VOD影音和服務，內容供應商包括：&lt;a href="http://www.amazon.com/vod"&gt;Amazon Video on Demand&lt;/a&gt;&amp;nbsp;、&lt;a href="http://www.blockbuster.com/"&gt;Blockbuster OnDemand&lt;/a&gt;&amp;nbsp;、&lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;&amp;nbsp;、&lt;a href="http://www.netflix.com/"&gt;Netflix&lt;/a&gt; &amp;nbsp;等等等&amp;nbsp;。&lt;br /&gt;
&lt;br /&gt;
這台電視似乎是蠻受歡迎的，在我看到的幾則 CES 2009 Top10相關的文章中，這個創新產品跟 ASUS Eee Keyboard 一樣常被媒體選為Top前十名。Vizio Connected HDTV採用的技術組合應該就是Intel 的晶片CE 3100 + FlashLite，更多技術平台內容可以參考我的前post：&amp;nbsp;&lt;a href="http://blog.mediakid.org/2009/01/inteladobeflash.html"&gt;Intel和Adobe合作把Flash移植到新視聽裝置晶片上&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.vizio.com/about.aspx?cid=2893&amp;amp;id=1314"&gt;VIZIO 官方新聞&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://i.gizmodo.com/5125554/vizio-connected-hdtvs-built+in-80211n-for-amazon-and-netflix-vod"&gt;Vizio Connected HDTVs: Built-in 802.11n for Amazon and Netflix VOD&lt;/a&gt;&amp;nbsp;via Gizmodo&lt;/li&gt;
&lt;li&gt;&lt;a href="http://chinese.engadget.com/2009/01/08/vizio-takes-the-cover-off-connected-hdtv-netflix-blockbuster/"&gt;CES 2009：Vizio支援HDTV新平台&lt;/a&gt;&amp;nbsp;via 癮科技&lt;/li&gt;
&lt;li&gt;&lt;a href="http://i.gizmodo.com/5126932/our-ces-top-10"&gt;CES Day One: Our Top 10&lt;/a&gt;&amp;nbsp;via Gizmodo&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-5325220009630290749?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/5325220009630290749/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=5325220009630290749&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5325220009630290749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5325220009630290749'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/ces-2009vizio-connected-hdtv-flashlite.html' title='CES 2009展出採用FlashLite技術的Vizio Connected HDTV'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WPPRdPoIeM8/SXgrfSqeCbI/AAAAAAAAKx0/rLx4YgT0X7Y/s72-c/widgets4.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-2836682340936874175</id><published>2009-01-18T11:42:00.011+08:00</published><updated>2009-02-23T11:36:08.179+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>PC平台的Crayon Physics Deluxe (updated)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/SYPOzGyo66I/AAAAAAAALO4/s72Hy9fWd2U/s1600-h/crayonBridge.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/SYPOzGyo66I/AAAAAAAALO4/s72Hy9fWd2U/s400/crayonBridge.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;上週(1/10)收到通知說&lt;a href="http://www.crayonphysics.com/"&gt;Crayon Physics Deluxe&lt;/a&gt;&amp;nbsp;在PC平台上開賣。上圖是我的"無俚頭之其實球滾不過去"小作。&lt;br /&gt;
&lt;span id="detail"&gt;&lt;br /&gt;
&lt;blockquote&gt;Crayon Physics Deluxe is now available for the PC at http://www.crayonphysics.com/&lt;br /&gt;
&lt;br /&gt;
The full version of the game costs 19.95$ and there's a free demo that you can download.&lt;br /&gt;
&lt;br /&gt;
Crayon Physics Deluxe is a 2D physics puzzle / sandbox game, in which you get to experience what it would be like if your drawings would be magically transformed into real physical objects. Solve puzzles with your artistic vision and creative use of physics.&lt;br /&gt;
&lt;br /&gt;
The game features over 70 levels, ropes, rockets and hinges. There's also a very easy to use level editor and website where user generated levels can be uploaded and downloaded.&lt;br /&gt;
&lt;br /&gt;
Petri&lt;/blockquote&gt;&lt;br /&gt;
在&lt;a href="http://www.kloonigames.com/blog/"&gt;官方blog&lt;/a&gt;&amp;nbsp;上看到這個很可愛的過關解法～&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;object height="302" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2778083&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2778083&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;a href="http://vimeo.com/"&gt;Crayon Physics - That Darn Pole, featuring Wall-E&lt;/a&gt; from &lt;a href="http://vimeo.com/enzym"&gt;Jimmy Gunawan&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Updated 2009.01.23&lt;/span&gt;: 新增朋友告知的一個用Flash開發很類似的遊戲&amp;nbsp;&lt;a href="http://www.addictinggames.com/magicpen.html"&gt;Magic Pen&lt;/a&gt;，這個作品跟&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 16px; white-space: normal;"&gt;Crayon Physics Deluxe很像，即使是用Flash開發，遊戲性也差不了很多，作者是&amp;nbsp;Alejandro Guillen，與Crayon Physics Deluxe的作者Petri Purho，應該是不同人。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WPPRdPoIeM8/SXk1GOszy-I/AAAAAAAAK5I/a-rTSs99PTg/s1600-h/magicpen.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SXk1GOszy-I/AAAAAAAAK5I/a-rTSs99PTg/s400/magicpen.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Information：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.kloonigames.com/blog/"&gt;Kloonigames&lt;/a&gt; &amp;nbsp;- Official Blog&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.crayonphysics.com/"&gt;Crayon Physics Deluxe&lt;/a&gt;&amp;nbsp;- Official Site&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.crayonphysicsdeluxe.com/"&gt;Crayon Physics Deluxe for Apple iPhone and iPod Touch&lt;/a&gt;&amp;nbsp;- Official Site&lt;span style="font-size: 24px; font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mmdays.wordpress.com/2007/11/17/%E4%BA%92%E5%8B%95%E9%81%8A%E6%88%B2-crayon-physics-deluxe/"&gt;互動遊戲: Crayon Physics&amp;nbsp;Deluxe&lt;/a&gt; via MMDays&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.addictinggames.com/magicpen.html"&gt;Magic Pen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-2836682340936874175?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/2836682340936874175/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=2836682340936874175&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2836682340936874175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2836682340936874175'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/crayon-physics-deluxe.html' title='PC平台的Crayon Physics Deluxe (updated)'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WPPRdPoIeM8/SYPOzGyo66I/AAAAAAAALO4/s72Hy9fWd2U/s72-c/crayonBridge.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-4954548013953555213</id><published>2009-01-15T13:20:00.006+08:00</published><updated>2009-01-18T08:06:11.979+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Industrial'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Adobe AIR team的團隊開發成員數?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://blogs.adobe.com/air/PopularScienceVisitsAdobeAIR.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="279" src="http://blogs.adobe.com/air/PopularScienceVisitsAdobeAIR.jpg" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;在AIR的官方blog上看到一個新聞是 &lt;a href="http://blogs.adobe.com/air/2009/01/popular_science_visits_adobe_a_1.html"&gt;Popular Science visits Adobe AIR team&lt;/a&gt;&amp;nbsp;，這篇新聞是說Adobe AIR在2009年一月獲頒Popular Science的&lt;a href="http://www.popsci.com/bown/2008/category/computing"&gt;Best of What's New in 2008&lt;/a&gt;&amp;nbsp;獎項，我算一算文章裡面提到的工作人員數目...分佈在San Francisco, San Jose, California, Romania, India等地的開發成員總共有 65 個高手。會去算人數，不是對專案和人數多少之間的關係有什麼概念或特殊見解，只是很膚淺的想知道開發這麼大型、創新的平台需要多少高手。AIR是一個相對大的一個平台，相關的技術領域很多( API, M$ platform, Linux&amp;nbsp;platform, Mac&amp;nbsp;platform, HTML, AJAX, Mobile&amp;nbsp;platform...等等小弟未知領域)，如果這65個人就是全部的開發人員的話，分一分以後負責每個子領域的開發成員數好像也不是很多，只能說這些人真的太厲害了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-4954548013953555213?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/4954548013953555213/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=4954548013953555213&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4954548013953555213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4954548013953555213'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/adobe-air-team.html' title='Adobe AIR team的團隊開發成員數?'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-965556322461732910</id><published>2009-01-09T11:38:00.004+08:00</published><updated>2009-01-11T10:23:09.912+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Book'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>AdvancED ActionScript 3.0 Animation</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWbIAw6J8XI/AAAAAAAAKiA/-AX5eWdpDRk/s1600-h/1590597915.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-decoration: none;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWbIAw6J8XI/AAAAAAAAKiA/-AX5eWdpDRk/s400/1590597915.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Keith Peters 先生又&lt;a href="http://www.bit-101.com/blog/?p=1772"&gt;出新書&lt;/a&gt;&amp;nbsp;(2008/12/29)了：&lt;a href="http://www.friendsofed.com/book.html?isbn=9781430216087"&gt;AdvancED ActionScript 3.0 Animation&lt;/a&gt;&amp;nbsp;，噗～這本書的上一本都還沒看幾章呢。搜尋國內的書局發現已經可以買得到了，比如:&amp;nbsp;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011550983"&gt;博客來外文館&lt;/a&gt;&amp;nbsp;(打79折 NT$1106)、&lt;a href="http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=1430216085&amp;amp;sid=47985"&gt;天瓏資訊圖書&lt;/a&gt;&amp;nbsp;(NT$1224)。主題部分，這次的主題更是超級有趣的呢：&lt;br /&gt;
&lt;blockquote&gt;&lt;h3&gt;In this book, you'll learn how to:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Leverage Flash 10 3D, the new drawing API commands, and Pixel Bender &lt;/li&gt;
&lt;li&gt;Create isometric worlds for games &lt;/li&gt;
&lt;li&gt;Construct powerful artificial intelligence routines including pathfinding, steering,&lt;br /&gt;
and flocking behaviors&lt;/li&gt;
&lt;li&gt;Use numerical integration for real world physics effects&lt;/li&gt;
&lt;li&gt;Build advanced collision detection routines for more accurate simulations&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Summary of Contents&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Advanced Collision Detection&lt;/li&gt;
&lt;li&gt;Steering Behaviors&lt;/li&gt;
&lt;li&gt;Isometric Projection&lt;/li&gt;
&lt;li&gt;Pathfinding&lt;/li&gt;
&lt;li&gt;Alternate Input: The Camera and Microphone&lt;/li&gt;
&lt;li&gt;Advanced Physics: Numerical Integration&lt;/li&gt;
&lt;li&gt;3D in Flash 10&lt;/li&gt;
&lt;li&gt;Flash 10 Drawing API&lt;/li&gt;
&lt;li&gt;Pixel Bender&lt;/li&gt;
&lt;li&gt;Tween Engines&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-965556322461732910?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/965556322461732910/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=965556322461732910&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/965556322461732910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/965556322461732910'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/advanced-actionscript-30-animation.html' title='AdvancED ActionScript 3.0 Animation'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WPPRdPoIeM8/SWbIAw6J8XI/AAAAAAAAKiA/-AX5eWdpDRk/s72-c/1590597915.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-1683702869912744668</id><published>2009-01-07T13:12:00.004+08:00</published><updated>2009-01-09T11:05:06.969+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QT4'/><title type='text'>Qt Creator與Qt 4.5皆推進到Beta版</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WPPRdPoIeM8/SWQTLCY4YEI/AAAAAAAAKhg/e0wNbN9iktc/s1600-h/%2B%2Batfield%2B%2Bimage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SWQTLCY4YEI/AAAAAAAAKhg/e0wNbN9iktc/s400/%2B%2Batfield%2B%2Bimage.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Qt Creator與Qt 4.5兩者的Beta版都在2008/12/18發佈了耶，下載位址：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Qt Creator Beta可以由&lt;a href="http://trolltech.com/developer/qt-creator/qt-creator#download-qt-creator"&gt;Beta - Qt Creator - Lightweight IDE&lt;/a&gt;&amp;nbsp;取得&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Qt 4.5 Beta在&lt;a href="http://trolltech.com/developer/preview-qt-4.5"&gt;Beta - Qt 4.5&lt;/a&gt;&amp;nbsp;取得&lt;/li&gt;
&lt;/ul&gt;在&lt;a href="http://labs.trolltech.com/blogs/2008/12/18/interview-with-qt-creator-team-lead/" rel="bookmark" title="Permanent Link to Two new Qt Creator videos are out"&gt;Two new Qt Creator videos are out&lt;/a&gt;這篇文章裡面有影片介紹 Qt Creator的快速鍵，發現有一個垂直選取的功能很屌，這是我第一次看到的。看完的結果發現諸多快速鍵裡面只有"Ctrl+/"(註解)&amp;nbsp;跟Eclipse是一樣的，也就是說其他快速鍵都是不一樣的，根據之前好幾個 IDE輪流用的經驗，太多套一啟用挺容易會快速鍵錯亂的。&lt;br /&gt;
&lt;br /&gt;
相關訊息：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://labs.trolltech.com/blogs/2008/12/18/interview-with-qt-creator-team-lead/" rel="bookmark" title="Permanent Link to Two new Qt Creator videos are out"&gt;Two new Qt Creator videos are out&lt;/a&gt; via Qt Labs Blog&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.trolltech.com/blogs/2008/12/18/qt-creator-beta-released/"&gt;Qt Creator beta released!&lt;/a&gt;&amp;nbsp;via Qt Labs Blog&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://linuxtoy.org/archives/qt-45-beta-qt-creator-beta-and-kde-42-beta-2.html"&gt;简讯: Qt 4.5 Beta、Qt Creator Beta 及 KDE 4.2 Beta2&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.oschina.net/p/qt+creator"&gt;集成开发环境 Qt Creator&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-1683702869912744668?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/1683702869912744668/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=1683702869912744668&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1683702869912744668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1683702869912744668'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/qt-creatorqt-45beta.html' title='Qt Creator與Qt 4.5皆推進到Beta版'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WPPRdPoIeM8/SWQTLCY4YEI/AAAAAAAAKhg/e0wNbN9iktc/s72-c/%2B%2Batfield%2B%2Bimage.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-1650687961744025272</id><published>2009-01-06T10:21:00.033+08:00</published><updated>2009-01-22T20:55:23.429+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>Intel和Adobe合作把Flash移植到新視聽裝置晶片上</title><content type='html'>訊息來源：&lt;a href="http://www.embeddedflash.com/?p=319" rel="bookmark" title="Permanent Link to Intel and Adobe offer chicken in every pot (err… Flash on every HDTV)"&gt;Intel and Adobe offer chicken in every pot (err… Flash on every HDTV)&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;Adobe and Intel’s press release today says that they are working on a Flash port for Intel’s latest Camore platform. The CE3100 platform is a X86 based SoC targetted towards consumer market. More specifically the chip targets Set-top bix, digital TV, blue ray DVD and retail connected A/V devices. The chip offers high definition decoder to facilitate decoding. With this port, the OEMs will be able to purchase Flash Lite 3 running on Intel platform.&lt;br /&gt;
&lt;br /&gt;
So with this users will be able to purchase Flash player software alongwith the chip and customize the device to watch hulu.com or youtube.com on HDTV. It may even allow OEMs to open their platform to upload games and Flash based applications. Way to go!&lt;/blockquote&gt;&lt;br /&gt;
今天看到的好消息，Intel與Adobe宣布他們正在合作將 Flash Platform移植到Intel去年(2008.08)宣佈要發表的消費性電子產品晶片Intel Media Processor CE3100(研發代號為"Canmore")上，這顆晶片可以用來開發具有網路連線功能的消費性電子產品，如機上盒、藍光光碟機、數位電視和其他影音設備等等，不久的將來我們可能會看到有人在電視上收看Youtube網路影片，以及使用 Flash Platform 開發的豐富使用者介面和RIA。&lt;br /&gt;
&lt;br /&gt;
相關的文章中還看到&amp;nbsp;&lt;a href="http://connectedtv.yahoo.com/services/tv-widgets"&gt;Yahoo! TV Widgets&lt;/a&gt;&amp;nbsp;的開發計畫，這也是Intel為他們這顆晶片所做的準備，Intel與Yahoo合作開發透過widget把yahoo的內容和服務傳送到電視中，從下面的demo中可以看到Flash Widgets在電視上運行的模樣，非常酷呢。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWLSZY6zEOI/AAAAAAAAKhQ/jRq4zLg2IKk/s1600-h/yahoo-tv-widgets-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWLSZY6zEOI/AAAAAAAAKhQ/jRq4zLg2IKk/s400/yahoo-tv-widgets-1.jpg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWLSgWI3xdI/AAAAAAAAKhY/CTkBfz1a1G0/s1600-h/yahoo-tv-widgets-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_WPPRdPoIeM8/SWLSgWI3xdI/AAAAAAAAKhY/CTkBfz1a1G0/s400/yahoo-tv-widgets-2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YssuBHqDts8&amp;hl=zh_TW&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/YssuBHqDts8&amp;hl=zh_TW&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;
For More Information:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://flashmobile.scottjanousek.com/2009/01/05/intel-bringing-adobe-air-to-their-new-generation-of-home-displays/"&gt;Intel bringing Flash and Adobe AIR to their new generation of home displays&lt;/a&gt; via Scott Janousek&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gizmodo.com/5039692/intels-latest-system+on+a+chip-is-for-web-enabled-tvs-set+top-boxes"&gt;Intel's Latest System-On-A-Chip is For Web Enabled TVs, Set-Top Boxes&lt;/a&gt; via Gizmodo&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sizlopedia.com/2008/08/22/yahoo-connected-tv-to-bring-web-widgets-to-tv/"&gt;Yahoo Connected TV to Bring Web Widgets to TV&lt;/a&gt; via SizloPedia&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tw.money.yahoo.com/news_article/adbf/d_a_080821_2_13rj9"&gt;Intel和Yahoo合推Web TV平台Widget Channel 媒介整合新紀元&lt;/a&gt; via&amp;nbsp;Yahoo!奇摩理財&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://connectedtv.yahoo.com/"&gt;Yahoo! Connected TV: The best of the Internet on your TV&lt;/a&gt; via&amp;nbsp;Yahoo! Connected TV&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-1650687961744025272?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/1650687961744025272/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=1650687961744025272&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1650687961744025272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1650687961744025272'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/inteladobeflash.html' title='Intel和Adobe合作把Flash移植到新視聽裝置晶片上'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WPPRdPoIeM8/SWLSZY6zEOI/AAAAAAAAKhQ/jRq4zLg2IKk/s72-c/yahoo-tv-widgets-1.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-335952827098867794</id><published>2009-01-05T10:55:00.002+08:00</published><updated>2009-02-13T09:25:36.607+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><title type='text'>The 25-Line ActionScript Contest</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.25lines.com/finalists/0812/043.swf" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WPPRdPoIeM8/SWFysUHujqI/AAAAAAAAKf4/_maAiUzxsKM/s400/25linesContest.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;2008年12月初出來的比賽&amp;nbsp;&lt;a href="http://www.25lines.com/?page_id=139"&gt;The 25-Line ActionScript Contest&lt;/a&gt;&amp;nbsp;，是大師&lt;a href="http://bit-101.com/"&gt;Keith Peters&lt;/a&gt;&amp;nbsp;先生辦的，內容顧名思義就是用25行as比看誰可以做出最酷的作品，最大獎項是 CS4 Master Suite。&lt;br /&gt;
&lt;br /&gt;
贏家就是上圖的那個捲軸遊戲(&lt;a href="http://www.25lines.com/finalists/0812/043.swf"&gt;Entry 043 SWF&lt;/a&gt;&amp;nbsp;)，短短25行就弄出一個具有簡易遊戲機制的捲軸遊戲，看他的&lt;a href="http://www.25lines.com/finalists/0812/043.txt"&gt;source&amp;nbsp;code&lt;/a&gt;&amp;nbsp;可以發現其實構成場景的字串並不短，貼到CS4都自動斷行了。蠻意外的是之前看到還蠻多人在討論的，可是從投票結果看到投票人數不是很多。&lt;br /&gt;
&lt;br /&gt;
主辦者後來也把所有參賽作品的&lt;a href="http://www.25lines.com/finalists/0812/25lines-1208.zip"&gt;source code&lt;/a&gt;分享出來。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-335952827098867794?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/335952827098867794/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=335952827098867794&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/335952827098867794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/335952827098867794'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2009/01/25-line-actionscript-contest.html' title='The 25-Line ActionScript Contest'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WPPRdPoIeM8/SWFysUHujqI/AAAAAAAAKf4/_maAiUzxsKM/s72-c/25linesContest.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-625161294764781883</id><published>2008-12-31T09:46:00.019+08:00</published><updated>2009-01-05T10:09:10.062+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>Flasher Magazine</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.flashermag.com/"&gt;Flasher Magazine&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;&amp;nbsp;是Lee Brimelow 先生的新點子&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;，這是他自己錄製的影片雜誌&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;，內容涵蓋與Flash Platform相關的資訊，&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;第一集(2009/12/30)可以從這邊&lt;/span&gt;&amp;nbsp;&lt;span style="font-weight: normal;"&gt;&lt;a href="http://adobe.edgeboss.net/download/adobe/adobetv/platform_evangelism/issue1.mp4"&gt;下載MP4&lt;/a&gt;&amp;nbsp;。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
關於影片的內容：&lt;br /&gt;
&lt;blockquote&gt;Issue 1 features interviews with &lt;a href="http://www.chuckstar.com/blog/"&gt;&lt;span style="color: black; text-decoration: none;"&gt;Chuck Freedman&lt;/span&gt;&lt;/a&gt; from &lt;a href="http://www.ribbit.com/"&gt;&lt;span style="color: black; text-decoration: none;"&gt;Ribbit&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://blog.digitalbackcountry.com/"&gt;&lt;span style="color: black; text-decoration: none;"&gt;Ryan Stewart&lt;/span&gt;&lt;/a&gt; joins me to talk about Flash Catalyst. We also go on a road trip through the southwest to a couple of different Flash events. Finally I answer some of the most frequently asked questions regarding how I record my tutorials at &lt;a href="http://www.gotoandlearn.com/"&gt;&lt;span style="color: black; text-decoration: none;"&gt;gotoAndLearn&lt;/span&gt;&lt;/a&gt;. &lt;a href="http://www.flashermag.com/"&gt;&lt;span style="color: black; text-decoration: none;"&gt;Go on over&lt;/span&gt;&lt;/a&gt; and watch this issue and let me know what you think.&lt;br /&gt;
&lt;br /&gt;
摘自Lee Brimelow的原文：&lt;a href="http://theflashblog.com/?p=589"&gt;The Flash Blog » Flasher Magazine Issue 1 is now live!&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;
分享我在影片中看到的新東西：Ribbit.com 是一個整合網路電話技術到Flash平台的公司，他們正在舉辦一個比賽 &lt;a href="http://killerappchallenge.ribbit.com/"&gt;http://killerappchallenge.ribbit.com/&lt;/a&gt; ，贏家最高可得4.5萬美金的獎金。&amp;nbsp;訪問Ryan的時候，Lee問為什麼Flash Catalyst既然是跟Flex一樣用Eclipse作的，為什麼不叫作Flex Catalyst，Rrayn的回答是：因為Adobe為Flash Platform正名的關係，所以以後的產品都會以Flash作開頭。Lee在研討會的時候demo他做的一個小工具，就是按下某種快速鍵組合的時候，視窗桌面會變得很乾淨病跳出一個命令列視窗，裡面有code拼命的在跑，看起來一付工作得很忙的樣子。再來就是Lee分享他錄製tutorial的製作細節，Lee的工具比一般使用者用來講網路電話的工具高級，有點像是錄音室的工具的簡易版，很酷的是這些簡易版的專業錄音工具是接USB的，可以很容易與電腦整合。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-625161294764781883?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/625161294764781883/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=625161294764781883&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/625161294764781883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/625161294764781883'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/flasher-magazine.html' title='Flasher Magazine'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-2887577431117859890</id><published>2008-12-10T09:39:00.003+08:00</published><updated>2009-02-13T12:32:41.903+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>原來 Flash CS4 還是可以離線用 Reference Document</title><content type='html'>原來 window / extensions / connections 裡面有選項可以選擇要不要讓CS4與網路連線，如果選擇保持連線狀態的話，那按F1查詢reference doc的話就會開啟線上的livedocs，反之，取消連線的話就會開啟離線的html版本，不是以前內建在Flash IDE裡面的那種。&lt;br /&gt;
&lt;br /&gt;
取消連線的影響目前看起來是CS4新增的網路工具連不上，比如色票小工具Kuler、share my screen等，但反正我也沒在用，影響甚微。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/ST8oNmIqQlI/AAAAAAAAHxM/3SgDLFD0aJs/s1600-h/exconnection.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/ST8oNmIqQlI/AAAAAAAAHxM/3SgDLFD0aJs/s320/exconnection.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-2887577431117859890?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/2887577431117859890/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=2887577431117859890&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2887577431117859890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/2887577431117859890'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/flash-cs4-reference-document.html' title='原來 Flash CS4 還是可以離線用 Reference Document'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WPPRdPoIeM8/ST8oNmIqQlI/AAAAAAAAHxM/3SgDLFD0aJs/s72-c/exconnection.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-7476659523910360720</id><published>2008-12-05T14:24:00.011+08:00</published><updated>2008-12-05T22:29:08.917+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe Flash Platform'/><title type='text'>Scaleform GFx：可用Flash做遊戲UI的介面引擎</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/STk5U527q_I/AAAAAAAAHwo/Xu7TqY9IOis/s1600-h/scaleform.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/STk5U527q_I/AAAAAAAAHwo/Xu7TqY9IOis/s400/scaleform.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.scaleform.cn/"&gt;Scaleform GFx&lt;/a&gt; 是一套使用硬體加速的向量介面引擎，可以被整合到許多Video Game引擎(ex:&amp;nbsp;Unreal&lt;sup&gt;®&lt;/sup&gt; Engine 3、Ogre...)裡面，Scaleform GFx有個最大的特色是它可以用Adobe Flash Platform來開發介面，甚至對as1, as2擁有完整支援，可以直接開發遊戲裡面複雜的介面邏輯、介面組件和小遊戲等，Scaleform GFx引擎跨平台的對象包括 Windows、Linux、Mac、&lt;a href="http://www.gamershell.com/companies/nintendo/375353.html"&gt;Wii&lt;/a&gt;、XBox 360、PS3、PSP等等。關於實際採用Scaleform的產品，Scaleform的&amp;nbsp;&lt;a href="https://www.scaleform.com/press_03_20_2006_2"&gt;官方新聞稿&lt;/a&gt;&amp;nbsp;說&amp;nbsp;&lt;a href="http://www.mobile01.com/topicdetail.php?f=283&amp;amp;t=475755&amp;amp;last=4948011#"&gt;Crysis&lt;/a&gt;這款超高畫質的遊戲就是用這套引擎來開發介面的。&lt;br /&gt;
&lt;span id="fullpost"&gt;&lt;br /&gt;
我看到有遊戲產業開發者的文章，他們說明使用Flash來開發遊戲介面的好處包括：&lt;ol&gt;&lt;li&gt;「把Flash影片，用三角形描绘出来，让你能制作出传统位图不能解决的UI效果。你的编辑工具将非常好，因为可以使用Flash来编辑。所以强大度可想而知，比CEGUI LayoutEditor要强不知道多少倍了。」引自&amp;nbsp;&lt;a href="http://blog.guibian.com/article.asp?id=51"&gt;Ogre &amp;amp; Scaleform整合&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;「利用Flash技术可以很方便的在游戏内播放视频，对于游戏内嵌广告发布，玩家互动内容表现都是很的一种表现形式。而对于开发方式方面，由于Flash可 以支持动态的UI表现，这样美术人员就可以独立的进行UI设计而不需要程序员的过多参与了。而且由于UI采用Flash格式，这样来UI的设计工具也可以 直接使用Macromedia的FlashMX了。」引自&amp;nbsp;&lt;a href="http://blog.csdn.net/zhangyilan/archive/2008/11/01/3200639.aspx"&gt;关注Game内嵌Flash UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;「类似巨人刚推出时的巨型休闲MMO的概念有了Flash技术的支持应该很容易实现了，再也不需要分拆MMO开发人员去制作游戏内的Mini-Game。而 其设计专门为游戏量身定做，对于跨平台(Window,linux,PSP,PS2...)，字体以及Scale9Grid(按照9格来拼接窗体，输入框 等需要自由缩放大小的UI)的支持都使得游戏的UI开发更加便捷」。引自&amp;nbsp;&lt;a href="http://blog.csdn.net/zhangyilan/archive/2008/11/01/3200639.aspx"&gt;关注Game内嵌Flash UI&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;其實向量的優勢是可以想像得到的，因為採用向量，同樣的介面可以自由的放大縮小，而不用事先準備好一張很大的圖檔，或者好幾張不同解析度的圖檔來切換，記憶體方面的需求可能可以釋放許多，超大的圖檔在運算位移和旋轉吃的CPU也可以省下不少吧。Scaleform 這間公司還有另外一個產品是Scaleform GFx Lobby，這個產品可以整合到其他遊戲引擎裡做聊天室、server UI等，我覺得他的介面應該完全是用Flash平台做的。下面是在youtube上搜到唯一跟GFx有關的影片：&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/RrTeXnZ_ScE&amp;hl=zh_TW&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/RrTeXnZ_ScE&amp;hl=zh_TW&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-7476659523910360720?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/7476659523910360720/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=7476659523910360720&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/7476659523910360720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/7476659523910360720'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/scaleform-gfxflashui.html' title='Scaleform GFx：可用Flash做遊戲UI的介面引擎'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WPPRdPoIeM8/STk5U527q_I/AAAAAAAAHwo/Xu7TqY9IOis/s72-c/scaleform.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-4973411873151281198</id><published>2008-12-05T00:03:00.003+08:00</published><updated>2008-12-07T00:55:41.575+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>金融危機也影響到Adobe了</title><content type='html'>新聞來源: &lt;a href="http://www.flashmagazine.com/news/detail/job_cuts_at_adobe/"&gt;600 job cuts at Adobe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;Adobe也將裁員600人！其中包括前Flash平台經理與傳教士的&lt;a href="http://madowney.com/blog/"&gt;Mike Downey&lt;/a&gt;&amp;nbsp;？在&lt;a href="http://www.gskinner.com/blog/archives/2008/12/adobe_company_w.html"&gt;gSkinner的文章&lt;/a&gt;&amp;nbsp;中有人在討論Mike Downey的離去與裁員無關，也有人說無關的話時間點也未免太巧合，不過從Mike Downey本人的Twitter到是看到他很大器的說這樣對公司最好。&lt;br /&gt;
&lt;br /&gt;
至少裁掉600人事實，就像新聞來源文章說的，明明還是賺大錢的公司卻要這樣裁員，真的是很令人不解。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-4973411873151281198?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/4973411873151281198/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=4973411873151281198&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4973411873151281198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/4973411873151281198'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/adobe.html' title='金融危機也影響到Adobe了'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-3889677107966794030</id><published>2008-12-04T23:04:00.000+08:00</published><updated>2008-12-04T23:09:09.949+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>支援Flash的Multi-touch架構</title><content type='html'>閒晃時碰巧看到的文章，一篇&lt;span style="font-weight: bold;"&gt;支援Flash的Multi-touch架構:&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.adobe.com/devnet/edu/articles/manvesh-vyas.html"&gt;Flash for surface computing&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;&amp;nbsp;@ Adobe，蠻有趣的議題。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.adobe.com/devnet/edu/articles/manvesh-vyas/fig_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="93" src="http://www.adobe.com/devnet/edu/articles/manvesh-vyas/fig_02.jpg" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote&gt;TUIO is a very simple UDP-based protocol. So if you wish to create responsive applications using Adobe Flash Professional or ActionScript 3.0, you need to have a bridge that reads this UDP socket and converts it to a TCP connection. &lt;span style="font-weight: bold;"&gt;Since TUIO is based on the OpenSound Control (OSC) protocol, we make use of flosc (&lt;/span&gt;&lt;a href="http://www.benchun.net/flosc/"&gt;&lt;span style="font-weight: bold;"&gt;Flash OSC&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&amp;nbsp;), which is a small Java server that converts OSC into a TCP-based XML socket, which can be read easily by the XMLSocket class in Flash.&lt;/span&gt; If this doesn't make much sense to you, just remember that you need to run Flash OSC to make sure your applications can use the multi-touch events being pushed by the Computer Vision Engine.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-3889677107966794030?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/3889677107966794030/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=3889677107966794030&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3889677107966794030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/3889677107966794030'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/flashmulti-touch.html' title='支援Flash的Multi-touch架構'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-5576309413554401903</id><published>2008-12-03T12:17:00.071+08:00</published><updated>2009-02-06T10:31:43.113+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Learning Notes'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASDoc'/><title type='text'>使用ASDoc + FlashDevelop 生成class reference doc</title><content type='html'>&lt;a href="http://labs.adobe.com/wiki/index.php?title=ASDoc:Creating_ASDoc_Comments&amp;amp;oldid=5204"&gt;ASDoc&lt;/a&gt;是Adobe官方免費並且 open source的工具，目的是用來替 source code生成 class reference doc，官方自己的 livedocs也都是用 ASDoc生成的。不過由於ASDoc是一個command line工具，也就是說它沒有GUI介面，所以搭配&amp;nbsp;FlashDevelop內建的GUI工具來輸出文件會方便許多。&lt;br /&gt;
&lt;span id="fullpost"&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;取得 FlashDevelop&lt;/span&gt;&lt;br /&gt;
原來我一直在用的FD在&amp;nbsp;&lt;a href="http://www.flashdevelop.org/community/viewforum.php?f=11"&gt;FlashDevelop&amp;nbsp;3.0.0 beta8&lt;/a&gt;&amp;nbsp;以上的版本開始，就內建一個支援ASDoc的簡易GUI工具叫做Actionscript Documentation Generator，它可以把每次編譯的class路徑、編譯參數、輸出位置等等資訊存成一個*.docproj檔，隨時可以叫出來修改。&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;取得 ASDoc&lt;/span&gt;&lt;br /&gt;
從Flex SDK 2.0以後，ASDoc就預設附加在bin資料夾裡面了，所以如果已經安裝 Flex SDK或 Flex Builder的話就只需要在FlashDevelop只要設置路徑就可以了。需要者可以在此&amp;nbsp;&lt;a href="http://www.adobe.com/products/flex/flexdownloads/#sdk"&gt;下載 Flex SDK&lt;/a&gt;，基本上一定還是要有整包SDK，因為ASDoc需要SDK裡的其他工具作編譯和錯誤檢查。&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;開始使用ASDoc&lt;/span&gt;&lt;br /&gt;
上述的工具就照預設的方式安裝就可以了，然後找到 FD -&amp;gt; Tools -&amp;gt; Flash Tools-&amp;gt; Documentation Generator 。首先開啟setting標籤設定你的ASDoc路徑，像我這樣指到ASDoc location，也就是Flex sdk的bin資料夾。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_WPPRdPoIeM8/STZTFD3fO3I/AAAAAAAAHwI/CZnru76hCus/s1600-h/fddocgen-setting.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_WPPRdPoIeM8/STZTFD3fO3I/AAAAAAAAHwI/CZnru76hCus/s400/fddocgen-setting.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
接著回到project標籤。Page title填入整份文件的名稱。exclude classes可以用來排除你不想編入文件的單一class，例如：填入 "com.ClassA com.ClassB"&amp;nbsp;排除com package下的ClassA和ClassB兩個class，中間用空格區別，但不能用"com.*"同時排除底下的兩個class。Output directory 是你想輸出Doc的位置。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WPPRdPoIeM8/STZdl1W-MMI/AAAAAAAAHwY/fvcaX_i7E6I/s1600-h/fddocgen-classpath.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_WPPRdPoIeM8/STZdl1W-MMI/AAAAAAAAHwY/fvcaX_i7E6I/s400/fddocgen-classpath.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
在來就是卡了我很久的地方xd，Classpaths 要填入你所使用到的第三方package，&lt;span style="font-weight: bold;"&gt;這個欄位的設定與 project 的classpath設定是沒有直接關聯的&lt;/span&gt;，ASDoc編譯的時候，他還是會再去呼叫sdk的編譯器，再重新檢查一次你的code有沒有錯誤，如果有錯誤輸出就失敗，並且在Output標籤裡面列出錯誤訊息，所以你有使用到任何第三方的package的話，這邊就要再填一次。&lt;br /&gt;
&lt;br /&gt;
Extra option 可以選擇性的填入編譯的參數，-source-path 是source code的位置，-doc-classes 是要編譯的&lt;span style="font-weight: bold;"&gt;單一&lt;/span&gt;Class，請在裡面填入標準的package路徑，例如"com.myname.ClassA&amp;nbsp;com.myname.ClassB"，同樣用空格作區隔，如果想要編的class是某路徑的全部class可以填"-doc-sources ."，除了ASDoc專用的參數外，也可以傳遞as3編譯器用的參數進去，例如"-strict=false"。Compiler請選ASDOC(AS3)。更多的編譯參數可以參考官方文件 &lt;a href="http://livedocs.adobe.com/flex/3/html/asdoc_1.html"&gt;Using ASDoc&lt;/a&gt;&amp;nbsp;。&lt;br /&gt;
&lt;br /&gt;
然後你就得到一個漂漂亮亮的class參考文件了。&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_WPPRdPoIeM8/STZhOu51-_I/AAAAAAAAHwg/fOvMoBYP3Hc/s1600-h/asrefdoc.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_WPPRdPoIeM8/STZhOu51-_I/AAAAAAAAHwg/fOvMoBYP3Hc/s400/asrefdoc.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;排除Package&lt;/span&gt;&lt;br /&gt;
再來是卡住我很久的第二個地方，如果不想把第三方的package一起編進reference(不想編進去的需求應該是比較大的)，比如我不想把非自行開發的Tweener也編進去，那就加入另一個參數"&lt;span style="font-weight: bold;"&gt;-exclude-dependencies=true&lt;/span&gt;"，&lt;span style="font-weight: bold;"&gt;並且把設定好的Classpaths全部移除掉，否則會發生錯誤。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
以上的方法我用在輸出用到沒很複雜的第三方的lib時都沒有問題，但因為asdoc還會去檢查code有沒有錯誤，就算用了strict=false，還是會被寫得不夠嚴謹的code給擋住，比如函式的回傳型別不能沒寫，但竟然as3corelib裡面有很多這種狀況，不太可能遇到一個改一個；再來比如把script用外部連接的方式嵌到mxml裡也會被視為是bug。所以還是有狀況導致我還沒有能夠真正替我的code成功輸出文件，要怎麼辦還要再研究研究。&lt;br /&gt;
&lt;br /&gt;
大致上就是以上這樣，以上除了介面的操作，其他應該都跟直接使用command line模式是一樣的。問題都搞定的話再來就是要了解怎麼去替程式作註解了。&lt;br /&gt;
&lt;br /&gt;
文件的註解方式請參考官方的文件：&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_1.html"&gt;Creating ASDoc comments&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
特別謝謝&lt;a href="http://ticore.blogspot.com/"&gt;Ticore&lt;/a&gt;大的幫忙。&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-5576309413554401903?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/5576309413554401903/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=5576309413554401903&amp;isPopup=true' title='22 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5576309413554401903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5576309413554401903'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/12/asdoc-flashdevelop-reference-doc.html' title='使用ASDoc + FlashDevelop 生成class reference doc'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WPPRdPoIeM8/STZTFD3fO3I/AAAAAAAAHwI/CZnru76hCus/s72-c/fddocgen-setting.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-1984422677126016960</id><published>2008-11-27T22:42:00.007+08:00</published><updated>2009-02-13T09:37:23.513+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Learning Notes'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex in a Week</title><content type='html'>Adobe 為了消滅大家的假期，提供了&lt;a href="http://www.adobe.com/devnet/flex/videotraining/"&gt;Flex in a Week&lt;/a&gt;&amp;nbsp;這個以一週五天為學習長度的資源，我要來找個時間認真學學。做練習遭遇困難的話可以到&lt;a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=60&amp;amp;catid=833&amp;amp;entercat=y"&gt;Flex in a Week Forum&lt;/a&gt;&amp;nbsp;求救。五天的大綱如下：&lt;br /&gt;
&lt;br /&gt;
DAY 1: FLEX BASICS&lt;br /&gt;
DAY 2: COMPONENT DEVELOPMENT&lt;br /&gt;
DAY 3: PUTTING IT ALL TOGETHER&lt;br /&gt;
DAY 4: ADDING VISUAL APPEAL&lt;br /&gt;
DAY 5: ARCHITECTURE AND ADVANCED TOPICS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-1984422677126016960?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/1984422677126016960/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=1984422677126016960&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1984422677126016960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/1984422677126016960'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/11/flex-in-week.html' title='Flex in a Week'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-5105913417275951819</id><published>2008-11-23T10:37:00.007+08:00</published><updated>2009-02-25T12:37:01.940+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex Learning Paths</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WPPRdPoIeM8/SSjD6-zncWI/AAAAAAAAHuo/fuWX_Xt6U0A/s1600-h/flexlearningpath.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_WPPRdPoIeM8/SSjD6-zncWI/AAAAAAAAHuo/fuWX_Xt6U0A/s400/flexlearningpath.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Adobe官方推出一個新的Flex學習資源:&lt;a href="http://www.adobe.com/devnet/flex/learn/" target="blank"&gt;Flex Learning Paths&lt;/a&gt;，把過去發表在Adobe Developer Center的文章依學習者的身份做成四種不同的索引，身份有&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/flex/learn/designer/"&gt;Designer/Web developer&lt;/a&gt;, &lt;a href="http://www.adobe.com/devnet/flex/learn/programmer/"&gt;Programmer&lt;/a&gt;, &lt;a href="http://www.adobe.com/devnet/flex/learn/architect/"&gt;Architect&lt;/a&gt;&amp;nbsp;和&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/flex/learn/manager/"&gt;Manager&lt;/a&gt;&amp;nbsp;等，索引裡列的學習資料有多種類型，包括練習檔, 影片, 文件等。這個應用也有RIA版:&amp;nbsp;&lt;a href="http://www.adobe.com/devnet/flex/learn/programmer/learningpath.html"&gt;Flex Learning Paths&lt;/a&gt;&amp;nbsp;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-5105913417275951819?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/5105913417275951819/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=5105913417275951819&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5105913417275951819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/5105913417275951819'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/11/flex-learning-paths.html' title='Flex Learning Paths'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WPPRdPoIeM8/SSjD6-zncWI/AAAAAAAAHuo/fuWX_Xt6U0A/s72-c/flexlearningpath.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4834252038151358178.post-7716597463713848376</id><published>2008-11-20T12:44:00.027+08:00</published><updated>2008-11-21T13:48:40.566+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QT4'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>QT4 學習筆記：QT4提供的數學函數</title><content type='html'>QT的一些範例中有出現 qmax, qmin 等 math函式的身影，但我在官方文件中卻找不到與 math函式相關的說明，所以我就把函式的source裡面提供的方法整理條列，並且看看還有哪些 math相關的函式可用。在 &lt;a href="http://doc.trolltech.com/4.4/qtglobal.html" target="blank"&gt;qglobal.h&amp;nbsp;&lt;/a&gt;裡，可以找到幾種 math函式，條列於下，但一般常用的 math如：qfloor(無條件捨去)、qceil(無條件進位)、qsin,qcos,qtan(三角函數) 等等等...則是都沒有看到。&lt;span id="fullpost"&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;qAbs ( const &amp;amp;value )&lt;br /&gt;
說明：返回絕對值 &lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;int absoluteValue;
 int myValue = -4;
 absoluteValue = qAbs(myValue); 
&lt;span style="color: darkred; font-style: italic;"&gt; // absoluteValue == 4&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt; qBound ( const &amp;amp;min, const &amp;amp;value, const &amp;amp;max )&lt;br /&gt;
說明：返回極限不超過 min , max 的值， 等同於 qMax(min, qMin(value, max))&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;int myValue = 10;
 int minValue = 2;
 int maxValue = 6;

 int boundedValue = qBound(minValue, myValue, maxValue);&lt;span style="color: darkred; font-style: italic;"&gt;
 // boundedValue == 6&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;qMax ( const &amp;amp;value1, const &amp;amp;value2 )&lt;br /&gt;
說明：返回最大值&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;int myValue = 6;
 int yourValue = 4;

 int maxValue = qMax(myValue, yourValue);&lt;span style="color: darkred; font-style: italic;"&gt;
 // maxValue == 6&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;qMin ( const &amp;amp; value1, const  &amp;amp;value2 )&lt;br /&gt;
說明：返回最小值&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;int myValue = 6;
 int yourValue = 4;

 int minValue = qMin(myValue, yourValue);
 &lt;span style="color: darkred; font-style: italic;"&gt;// minValue == 4&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;int qRound ( qreal value ) &lt;br /&gt;
說明：返回四捨五入的整數&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;qreal valueA = 2.3;
 qreal valueB = 2.7;

 int roundedValueA = qRound(valueA); 
&lt;span style="color: darkred; font-style: italic;"&gt; // roundedValueB = 2&lt;/span&gt;
 int roundedValueB = qRound(valueB); 
&lt;span style="color: darkred; font-style: italic;"&gt; // roundedValueB = 3&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;qint64 qRound64 ( qreal value )&lt;br /&gt;
說明：返最接近的64位元整數&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;qreal valueA = 42949672960.3;
 qreal valueB = 42949672960.7;

 int roundedValueA = qRound(valueA);&lt;span style="color: darkred; font-style: italic;"&gt; 
 // roundedValueA = 42949672960&lt;/span&gt;
 int roundedValueB = qRound(valueB); 
&lt;span style="color: darkred; font-style: italic;"&gt; // roundedValueB = 42949672961&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;int qrand ()&lt;br /&gt;
說明：thread-safe版本的標準C++亂數函式，返回 0 到 RAND_MAX之間的數字序列之下一個整數，使用qsrand(uint seed) 重新給定種子&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;qreal valueA = qrand() % 100; &lt;span style="color: darkred; font-style: italic;"&gt;// 41&lt;/span&gt;
 qreal valueB = qrand() % 10; &lt;span style="color: darkred; font-style: italic;"&gt;// 7&lt;/span&gt;
 qreal valueC = qrand() % 2; &lt;span style="color: darkred; font-style: italic;"&gt;// 0&lt;/span&gt;
 qsrand(0xffffffff);
 valueA = qrand() % 100; &lt;span style="color: darkred; font-style: italic;"&gt;// 35&lt;/span&gt;
 valueB = qrand() % 10; &lt;span style="color: darkred; font-style: italic;"&gt;// 9&lt;/span&gt;
 valueC = qrand() % 2; &lt;span style="color: darkred; font-style: italic;"&gt;// 0&lt;/span&gt;
 qsrand(0xffffff);
 valueA = qrand() % 100; &lt;span style="color: darkred; font-style: italic;"&gt;// 35&lt;/span&gt;
 valueB = qrand() % 10; &lt;span style="color: darkred; font-style: italic;"&gt;// 3&lt;/span&gt;
 valueC = qrand() % 2; &lt;span style="color: darkred; font-style: italic;"&gt;// 0&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;bool qFuzzyCompare ( double p1, double p2 )   [靜態方法]&lt;br /&gt;
說明：比較兩個長浮點數的大小，如果兩者相同返回true，反之為否，同樣為thread-safe。另外也提供float版本的方法： bool qFuzzyCompare ( float p1, float p2 )   [static]&lt;br /&gt;
範例：&lt;pre style="background-color: #f1f1f1; border-bottom-color: rgb(231, 231, 231); border-color: rgb(231, 231, 231); border-style: solid; border-width: 1px; color: black; padding: 0.2em;"&gt;qreal valueA = 42949672960.3;
 qreal valueB = 42949672960.7;

 bool equal = qFuzzyCompare(valueFA,valueFB);&lt;span style="color: darkred; font-style: italic;"&gt; 
 // equal = false&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4834252038151358178-7716597463713848376?l=blog.mediakid.org'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.mediakid.org/feeds/7716597463713848376/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4834252038151358178&amp;postID=7716597463713848376&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/7716597463713848376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4834252038151358178/posts/default/7716597463713848376'/><link rel='alternate' type='text/html' href='http://blog.mediakid.org/2008/11/qt4-qt4.html' title='QT4 學習筆記：QT4提供的數學函數'/><author><name>擴擴咱</name><uri>http://www.blogger.com/profile/10627481455743973449</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09763350118242858745'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry></feed>