搜尋部落格文章

2011年11月12日 星期六

使用Loader類別載入外部共享元件庫swf檔

隨著元件增加,以及內嵌字型,導致fla檔體積越來越大
不僅發佈swf耗費很長的時間,過大的檔案也可能影響著伺服器的流量
為了可以更有效率的工作,
首先,先將下述幾樣檔案拉到外部swf中,

製作上使用的檔案類型不外乎就是
1. 圖片
2. 音樂音效
3. 字型

可以的話,最好是一個一個分類
例如:紙娃娃衣物,家具,壁紙,地磚.音樂.字型...
未來若有增加新的物品,就可以單獨增加額外的swf作載入,若有修改某幾樣物品,則修改相對的swf檔案即可


專案初期只對Loader所載入的東西去抓取裡面的Class,

this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE,eventComp);
private function eventComp(e:Event):void{
  (e.currentTarget as LoaderInfo).applicationDomain.getDefinition("className");
}

後來加入preloader後,所有的外部swf在這個時候就要先載入了
載入後使用原本的方法便會抓不到外部元件
解決方法可以在loader.load(request:URLRequest, context:LoaderContext = null);
給loader指定第二個參數context:LoaderContext

var context:LoaderContext = new LoaderContext(); 
context.checkPolicyFile = true; 
var urlReq:URLRequest = new URLRequest("http://www.[your_domain_here].com/photo11.jpg"); 
var ldr:Loader = new Loader(); 
ldr.load(urlReq, context);


LoaderContext 類別包括三個屬性,可以讓您定義如何使用載入內容的環境:

checkPolicyFile:

請只在載入影像檔 (而不是 SWF 檔) 時使用這個屬性。如果將這個屬性設定為 true,Loader 會檢查原則檔的原始伺服器 。只有在內容不是源自包含 Loader 物件的 SWF 檔時,才需要執行這項步驟。如果伺服器授予 Loader 網域權限,Loader 網域中 SWF 檔的 ActionScript 就可以存取已載入影像中的資料;換句話說,您可以使用 BitmapData.draw() 命令,存取載入影像中的資料。

請注意,來自 Loader 物件以外網域的 SWF 檔可以呼叫 Security.allowDomain(),以允許特定網域。

securityDomain:

請只在載入 SWF 檔 (而不是影像) 時使用這個屬性。為不是源自包含 Loader 物件之檔案所屬網域的 SWF 檔指定這個方法。指定這個選項時,Flash Player 會檢查是否有原則檔,如果有,則來自跨網域原則檔中所允許網域的 SWF 檔就可以對載入的 SWF 內容進行跨 Script 處理。您可以將這個參數設定為 flash.system.SecurityDomain.currentDomain。

applicationDomain:

請只在載入以 ActionScript 3.0 撰寫的 SWF 檔 (而非影像或以 ActionScript 1.0 或 2.0
撰寫的 SWF 檔) 時使用此屬性。載入檔案時,您可以透過將 applicationDomain 參數設定為 flash.system.ApplicationDomain.currentDomain,指定檔案要包含在與 Loader 物件相同的應用程式網域中。藉由將載入的 SWF 檔置於相同的應用程式網域中,便可以直接存取其類別。如果您要載入的是包含內嵌媒體 (可以透過它們的相關類別名稱進行存取) 的 SWF 檔,這種做法就很有用。

2011年11月2日 星期三

Flash 音檔匯出原則

在 Flash 文件中匯出聲音時的幾個原則

除了取樣頻率和壓縮方式之外,還有幾種方法可以有效地在文件中使用聲音,並降低檔案大小:

設定淡入點和淡出點,防止無聲區域儲存在 Flash Pro 檔案中,並減少檔案中聲音資料的大小。

若要更有效地利用相同的聲音,請在不同的關鍵影格上套用不同的聲音特效 (例如音量封套、循環和淡入/淡出點)。 您只需要使用一個聲音檔,就能得到好幾種聲音特效。

將簡短的聲音循環,做為背景音樂使用。

不要將串流聲音設為循環。

匯出內嵌在視訊片段中的音效時,請記住音效將使用您在「發佈設定」對話方塊中選取的全域串流設定,進行匯出。

在編輯程式中預覽動畫時,請使用串流同步,讓動畫能和音軌同步播放。 如果您的電腦速度不夠快,無法以和音軌同步的速度繪製出動畫影格,則 Flash Pro 會略過這些影格。

匯出 QuickTime 影片時,您可以盡情使用多種聲音和聲道,而不必擔心檔案大小的問題。 這是因為所有的聲音都會在您匯出為 QuickTime 檔案時,合併為單一的聲音音軌。 因此,您使用的聲音數目對於最終的檔案大小並不會造成影響。

Flash 音檔壓縮設定

如果您在「發佈設定」對話方塊中,為事件聲音或串流聲音選取全域壓縮設定,那麼就算您未在「聲音屬性」對話方塊中為這些聲音選取壓縮設定,這些設定還是會套用到個別的事件聲音或所有的串流聲音。

您也可以在「發佈設定」對話方塊中選取「覆蓋聲音設定」,來覆蓋您在「聲音屬性」對話方塊中指定的匯出設定。 如果您要製作供本機使用的高傳真音效檔案 (較大) 並用於 Web 的低傳真版本 (較小) 時,這個選項就非常有用。

壓縮的取樣頻率和取樣程度會在匯出 SWF 檔中形成明顯的聲音品質及聲音大小之差異。 壓縮聲音的程度愈高和取樣頻率愈低,檔案就會愈小,但品質也因而變得比較差。 您應該自行實驗,找出聲音品質和檔案大小之間的最佳平衡點。


ADPCM 和 Raw 壓縮選項

ADPCM 壓縮會為 8 位元或 16 位元聲音資料設定壓縮。 當您匯出簡短的事件聲音 (例如按一下按鈕) 時,請使用 ADPCM 設定。

Raw 壓縮會將聲音以未壓縮的方式匯出。

預先處理 當您選取「將立體聲轉換為單聲道」時,會將混合的立體聲聲音轉換為單聲道聲音,但是單聲道聲音則不會受此選項影響。

取樣頻率 控制聲音的精確度和檔案大小。 較低的頻率會降低檔案大小,但也會減損聲音品質。

頻率選項如下所示:

5 kHz 僅適用於語音。
11 kHz 為標準 CD 頻率的 1/4,對簡短的音樂片段而言,這是建議的最低品質。
22 kHz 為標準 CD 頻率的 1/2,對於要在網站上播放聲音而言,這是較普遍的選擇。
44 kHz 為標準 CD 音效頻率。
備註: Flash Pro 不能將匯入聲音的 kHz 頻率提高到超出匯入時的頻率。
ADPCM 位元 (僅適用於 ADPCM) 指定壓縮聲音時的位元深度。較高的位元深度可以產生較佳的聲音品質。


mp3 壓縮選項

MP3 壓縮 可讓您以 mp3 壓縮格式來匯出聲音。在匯出較長的串流聲音 (例如音樂音軌) 時,請使用 mp3。 若您即將匯出的檔案當初是以 mp3 格式匯入的,您可以使用和匯入時相同的設定將檔案匯出。

使用匯入的 mp3 品質 預設設定。 您可以取消選取此選項,以選取其他 mp3 壓縮設定。 選取此選項,便能以與匯入 mp3 檔案時的相同設定來匯出此檔案。

位元速率 決定匯出之聲音檔中每一秒的位元。 Flash Pro 支援 8 到 160 Kbps CBR (固定位元速率)。

匯出音樂時,請將位元速率設定為 16 Kbps 或更高,以取得最佳的效果。

預先處理 將混合的立體聲聲音轉換為單聲道聲音 (單聲道聲音則不會受此選項影響)。
備註: 只有在您選取了 20 Kbps 以上的位元比率時,才能使用「預先處理」選項。

品質 決定壓縮速度和聲音品質:

快速 以較快的速度進行壓縮,但聲音品質較低。
中 以較慢的速度進行壓縮,但聲音品質較高。
最佳 以最慢的速度進行壓縮,聲音品質最高。


語音壓縮選項

「語音」壓縮選項會使用適合語音的壓縮方式匯出聲音。備註: Flash Lite 1.0 和 Flash Lite 1.1 不支援使用「語音」壓縮選項。 針對這些播放程式版本所開發的內容,請使用 mp3、ADPCM 或 Raw 壓縮。

取樣頻率 控制聲音的精確度和檔案大小。 較低的頻率會降低檔案大小,但也可能減損聲音品質。
請選取下列其中一個選項:

5 kHz 適用於語音。
11 kHz 建議語音使用。
22 kHz 適用於大部分網站上所播放的音樂類型。
44 kHz 為標準 CD 音效頻率。 然而,因為套用了壓縮,SWF 檔中的聲音就無法達到 CD 品質。

Firefox 64bit

Firefox有64bit版,但只是永遠的alpha1及只有英文版,正式版可從來沒有出現過,
如果要正式版只有下載palemoon x64,雖然只是英文版,但只要安裝中文套件便可,但記著64bit瀏覽器不能使用32bit外掛程式,必須再獨立安裝64bit的外掛程式,但現在只有flash player及java有提供64bit的外掛程式。

Firefox 64bit 主程式 ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/firefox-10.0a1.en-US.win64-x86_64.installer.exe

正體中文套件 ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central-l10n/win32/xpi/firefox-10.0a1.zh-TW.langpack.xpi

Palemoon 7 x64 http://storage.sity.nl/palemoon/palemoon-7.0.1-x64-installer.exe

palemoon 7 中文套件 http://storage.sity.nl/palemoon/langpacks/7.x/zh-TW.xpi

flash player 64 http://aihdownload.adobe.com/bin/install_flashplayer11x64_mssd_aih.exe

Java 64 http://fs11.filehippo.com/9985/5a3e49a82ffb480c9edda8c6c5f379f2/jre-7u1-windows-x64.exe

2011年10月31日 星期一

各種瀏覽器清除暫存辦法、刪除Flash暫存步驟

Internet Explorer 8
1、點擊工具選單。如果您沒找到該選單,請按鍵盤上的Alt 鍵來顯示選單。
2、選擇刪除瀏覽的歷史記錄。
3、選中 Internet 臨時文件複選框。
4、點擊刪除按鈕。
5、將文件刪除後,點擊確定。
 
Internet Explorer 7
1、點擊工具選單。如果您沒找到該選單,請按鍵盤上的Alt 鍵來顯示選單。
2、選擇刪除瀏覽的歷史記錄。
3、點擊刪除文件按鈕。
4、在確認視窗中點擊是按鈕。
5、點擊關閉按鈕。
 
Internet Explorer 6
1、點擊工具選單。
2、選擇 Internet 選項。
3、點擊常規標籤。
4、點擊刪除文件按鈕。
5、在確認視窗中點擊確定按鈕。
6、點擊確定按鈕關閉"Internet 選項"視窗。
 
360安全瀏覽器
1、點擊 工具 選單。
2、選擇 清除瀏覽記錄。
3、勾選“瀏覽器暫存的臨時文件”
4、點擊立即清理按鈕。
 
 
傳說中的Firefox(火狐)---要清空Mozilla Firefox 的暫存,請按以下步驟操作:
1、單擊瀏覽器頂部的"Tools"(工具)選單,並選擇"Options"(選項)。
2、單擊"Privacy"(隱私)。
3、單擊"Cache"(高速暫存)旁邊的"Clear"(清空暫存)。
4、單擊"OK"(確定)。
 
Mozilla(火狐) 和Netscape(網景) ---要清空Mozilla 和Netscape 的暫存,請按以下步驟操作:
1、單擊瀏覽器頂部的"Edit"(編輯)選單,然後選擇"Preferences"(首選項)。
2、單擊"Advanced"(高級)旁邊的"+"。
3、單擊"Advanced"(高級)下面的"Cache"(高速暫存)。
4、單擊"Clear Cache"(清除高速暫存)。
5、單擊"OK"(確定)。
 
Safari(蘋果)---要清空Safari 的暫存,請按以下步驟操作:
1、打開瀏覽器工具欄中的"Safari"選單。
2、選擇"Empty Cache"(清空暫存)。
3、單擊該對話框中的"Empty"(清空)。
 
谷歌瀏覽器chrome---要清空chrome的暫存,請按以下步驟操作:
1、點擊小扳手圖標
2、選擇“選項”
3、選擇“個人資料”
4、在瀏覽數據中,點擊“清除瀏覽數據”
5、彈出小視窗點擊“清除瀏覽數據”
 
Opera(歐普拉)---要清空Opera 的暫存,請按以下步驟操作:
1、在 Opera 中,點擊工具選單。
2、點擊偏好設置。
3、選擇高級標籤。
4、點擊左側欄中的歷史記錄。
5、在"磁盤暫存"部分,點擊立即清空。
6、點擊確定以關閉"偏好設置"。

2011年4月20日 星期三

FlashDevelop Snippet 場景設定值一次搞定

Tool>Code Snippets>Add> ... >Save

Snippet name: stageSetting

code:

this.stage.quality = $$(quality=StageQuality.BEST,StageQuality.HIGH,StageQuality.MEDIUM,StageQuality.LOW);
this.stage.scaleMode = $$(scaleMode=StageScaleMode.NO_SCALE,StageScaleMode.SHOW_ALL,StageScaleMode.NO_BORDER,StageScaleMode.EXACT_FIT);
this.stage.align = StageAlign.TOP_LEFT;
this.stage.frameRate = $$(frameRate=25,60,30,20,12);

2011年3月11日 星期五

FlashDevelop macro 搜尋滑鼠指定文字

搜尋Adobe官方 FlashPlayer 10.0 Help文件
RunProcess|http://help.adobe.com/zh_TW/AS3LCR/Flash_10.0/search.html?search=$(CurWord)

搜尋GoogleCode
RunProcess|http://www.google.com.tw/codesearch?as_q=$(CurWord)&hl=tw&as_lang=actionscript

搜尋本機Flash CS5 Help文件(Windows7適用)
RunProcess|file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1/Local%20Store/Help/zh_TW/Flash/CS5/AS3LR/search.html#$(CurWord)

搜尋本機Flash CS5 Help文件(WindowsXP適用)
RunProcess|file:///C:/Documents%20and%20Settings/USER/Application%20Data/chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1/Local%20Store/Help/zh_TW/Flash/CS5/AS3LR/search.html#$(CurWord)

搜尋日本Wonderfl
RunProcess|http://wonderfl.net/search?q=$(CurWord)