跳到主要內容

發表文章

目前顯示的是 1月, 2010的文章

Coverflow無限loop版

學生問到怎麼將Coverflow改成無限loop的版本 概念上都是一樣的,只要更改移動的公式即可,加上if else來判斷座標位子即可。 SourceCodeDownload

FlashDevelopPlugin

FlashDevelop是一套超好用的 ActionScript 程式碼編輯器 而且是免費的軟體喔, 來介紹幾個奶小茶覺得還不錯的外掛 FDFlexFormatter v0.2 是一個可以快速將你的程式碼自動排排站好的外掛, 類似Flash的 autoFormat 亂的程式碼 使用FDFlexFormatter整理過後的程式碼 Duplicate 快速重製程式碼, 以往打了addEventListener(MouseEvent.ROLL_OVER , rollOverHandler); 通常下一行會再偵聽ROLL_OUT事件。 以前最快的方法是,按Ctrl+ D, 先整排復製, 然後再去改成ROLL_OUT 安裝好該外掛,按下Ctrl + Alt + D,就會自動幫你整排復製, 然後將ROLL_OVER改成ROLL_OUT 超省時的啦, 當然關鍵的文字可以自已新增修改 還有Ctrl + Alt + S, 每按一下就能自動切換 addEventListener換成removeListener 或是public internal protected privte自動切換 而Ctrl + Alt + Shift + D, 遇到數字型時,就會自動幫你加一行, 並將數字遞增 Highlightselection 當選取一個文字時, 該文件檔只要有一樣的文字, 會自動幫你出現底色, 方便預視 可以檢查是否打錯字 SWCExport 安裝好後, 在上方工具列就會出現新的Icon, 按下後就能將類別直接包裝成.swc http://code.google.com/p/flashdevelopjp/ 安裝好後, 在上方工具列會多出一個日文選項, 前二個我不知道是做什麼用的 Always Compile設定:只要按下Alt +A ,就才自動幫你把目前開啟的.as設定成Always Compile, 還可以到選項裡更改設定,就可以直接發怖。 Vizzy Flash Tracer 這一個不算是FD的外掛, 有點像是FireFox的flash tracer, 只是他是單一執行軟體, 不用加裝在任何Brwoser上即可使用 當然flashDevelop的trace資訊他也是抓的到 FlexDbg FlashDevelop也能使用.net的中斷點功能喔, 這樣就可以一步一步的debug

AS3 utf8 轉 big5編碼

AS3預設的編碼即是utf-8, 但有時html的編碼不是我們能控製的 好比html是big5, 在flash裡只要使用System.useCodePage = true; 即可讓flash的編碼和html相同, 但問題來了, 假設現在遠端主機接受的編碼是big-5 你有二個網站分別用big5和utf8製作, 光轉編碼可能就會搞死, 好在有好心人士己編整理好了, 感謝 馬克 提供的資訊 http://www.mr-fu.net/2009/02/url-encoding-in-actionscript3-utf-8.html 原理是透過ByteArry來處理。

CoverFlow另一種表現手法

有學生問到如何製作這樣的3D效果 http://www.movie-motel.com/ 更改了一下書裡的Appendix_A CoverFlowCS4.as 當然也可以用PV3D來製作, 原理上差不多 只要更改一下公式即可: 和本來的Coverflow效果一樣, 會有三種情況, 左邊,中間、右邊 只要更改左邊的公式, z軸改成負的即可。 package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.net.URLRequest; import caurina.transitions.Tweener; public class CoverFlowCS4_3 extends Sprite { private var itemOfNumber :int = 9;//物件數量 private var currentPlaneIndex :Number = 0;//目前圖片的索引值 private var planeAngle :Number = 48; //角度 private var planeSeparation :Number = 150; //左右二邊Plane與Plane的間距。 private var planeOffset :Number = 100; //目前所選擇的Plane其左右的間距。 private var selectPlaneY :Number = -0; //目前所選擇Plane的y值 private var selectPlaneZ :Number = -510; //目前所選擇Plane的z值 private var perZ :int = 250; private var container :Sprite; private var sortArray :Array = [];//排序用的陣列 public function CoverFlowCS4_3() { addEventListener(Event.ADDED_TO_STAGE, _addedToStageHandler); } private function _addedTo

facebookApp抓取相片集

最近一定都要來facebook一下, 今天來介紹如何在網站裡, 得到目前使用者facebook裡的相片集 1.請申app, 得到API_KEY和SECRET_KEY 關於facebook app申請與設定, 可以參考 http://milkmidi.blogspot.com/2009/10/facebook-app.html 2.下載facebook flash api類別: http://code.google.com/p/facebook-actionscript-api/ 3.說明一下原理 使用者在你的應用程式裡點選登入後, 會自動開啟connect的頁面, 讓使用者同意你的app取存個人資訊 登入成功後, 就可以開始要資訊 相片集的話, 會有二個部份 一個是Albums(就是相本, 使用GetAlbums類別) 一個是Photos(就是相本裡的相片, 使用GetPhotos類別, 要帶入Albums裡的id值) 二者呼叫fb後回傳的結果都是一個Collection 在這兒使用Flex來練習, 當然用Flash原理也是一樣的 <![CDATA[ import com.facebook.commands.data.*; import com.facebook.commands.friends.GetFriends; import com.facebook.data.friends.GetFriendsData; import com.facebook.data.photos.AlbumData; import com.facebook.data.photos.PhotoData; import com.facebook.data.users.FacebookUserCollection; import com.facebook.Facebook; import com.facebook.events.FacebookEvent; import com.facebook.net.FacebookCall; import com.facebook.data.photos.*; import com.facebook.commands.photos.*; import com.facebook.uti