用Flex設計專案其實好處多多,其中一個就是讓RIA的應用程式可以擁有多重語系的功能,以下就針對步驟一個一個來介紹。
1. 新增一個Flex Project,在Project裡新增一 locale 資料夾,local裡再放要的多國語系Folder,資料夾名稱要同語系名稱,最後在語系資料夾下要在放一個 *.properties 的utf-8文字檔(這個範例檔取名為lang.properties,名字可以自已決定),每個資料夾都要放一樣的名稱,不然對應不到。
2.設定Project的語系,在Project上按右鍵,選properties -> Flex Compoler
在Additional compiler arguments輸入下列文字,前面是你要用的語系,後面是位置,如果有更多語系請再自行加入。
-locale en_US zh_CN zh_TW -source-path+=locale\{locale}
3.在lang.properties裡寫上要用的文字,取名為msg。
4.設定好以上步驟就有多國語系的設定了,接下來就是操作。
在code上一開始把lang.properties載入
使用語系,填入語系的名稱,也就是資料夾名稱
顯示msg對應的文字
以上三個動作對應下圖
只要透過以上幾個步驟就可以把多國語系設定好了,可能有人會覺得做成xml不就好了,其實用xml也沒有錯,只是Flex直接透過ResourceManager就可以取得多國語系設定的名稱,比xml讀進來還要解析方便多了。
2010年11月23日 星期二
2009年11月20日 星期五
每個人都要會的Actionscript Tweener(三)-Filter(濾鏡)效果
在上一篇 每個人都要會的Actionscript Tweener(二)-影片連續動作 中已經可以經由Tweener來控制影片的連續移動,但這樣的移動效果雖然不錯,但其實在做動畫中都會再做的更精細一點,像加上移動會有模糊效果或光暈陰影等。
所以接下我們來使用Tweener Filter(濾鏡)的功能
底下是Tweener Filter常用的濾鏡效果
所以接下我們來使用Tweener Filter(濾鏡)的功能
底下是Tweener Filter常用的濾鏡效果
//斜角濾鏡 BevelFilter _Bevel_angle:角度 _Bevel_blurX:x軸 _Bevel_blurY:y軸 _Bevel_distance:距離 _Bevel_type:類型 //模糊濾鏡 BlurFilter _Blur_blurX:x模糊 _Blur_blurY:y模糊 //陰影濾鏡 DropShadowFilter _DropShadow_alpha:透明度 _DropShadow_angle:角度 _DropShadow_blurX:x軸 _DropShadow_blurY:y軸 _DropShadow_color:顏色 _DropShadow_distance:距離 //光暈濾鏡 GlowFilter _Glow_alpha _Glow_blurX _Glow_blurY _Glow_color _Glow_knockout:去底色 _Glow_inner:內光暈 //漸層斜角濾鏡 Gradient Bevel Filter ///漸層光暈濾鏡 GradientGlowFilter
2009年11月18日 星期三
每個人都要會的Actionscript Tweener(二)-影片連續動作
在做動畫時常常會遇到要拉動作,是設計人員拉好動作還是程式人員用程式控制??
一般來說還是會以設計為主,用拉時間軸的方式來做,感覺比較省時跟省力
但真的是這樣嗎??
我倒是覺得有些動作用程式來處理還是會方便些,尤其常常會換來換去或修改的影片
這邊就分享一下如何讓影片做一些連續動作
(倒不是說拉動畫不好,其實要交互配合)
還是使用Tweener,真是太好用了
之前介紹Tweener的參數(請參考這裡),是以控制影片屬性為主,底下幾個的幾個屬性是Tweener的在開始動作或完成動作可以使用的屬性,我們就使用onComplete來完成影片的連續動作
一般來說還是會以設計為主,用拉時間軸的方式來做,感覺比較省時跟省力
但真的是這樣嗎??
我倒是覺得有些動作用程式來處理還是會方便些,尤其常常會換來換去或修改的影片
這邊就分享一下如何讓影片做一些連續動作
(倒不是說拉動畫不好,其實要交互配合)
還是使用Tweener,真是太好用了
之前介紹Tweener的參數(請參考這裡),是以控制影片屬性為主,底下幾個的幾個屬性是Tweener的在開始動作或完成動作可以使用的屬性,我們就使用onComplete來完成影片的連續動作
delay:延遲幾秒開始 onStart:一開始動作呼叫的function onStartParams:一開始動作傳入的參數 onComplete:完成動作呼叫的function onCompleteParams:完成動作傳入的參數
2009年11月17日 星期二
FlashDevelop使用Flex SDK
目前開發ActionScript已慢慢轉移到FlashDevelop來開發了,真的是方便很多,尤其是程式碼提示省去很多開發時間,還有一些額外的功能讓我越來越愛不釋手。
在我的電腦裡有安裝Flash CS3、CS4、Flex 3,FlashDevelop官網上都是教說要安裝Flex SDK做compiler,但其實可以用Flex 3的預設的SDK,因為我也懶的再裝一個SDK,哈...
在我的電腦裡有安裝Flash CS3、CS4、Flex 3,FlashDevelop官網上都是教說要安裝Flex SDK做compiler,但其實可以用Flex 3的預設的SDK,因為我也懶的再裝一個SDK,哈...
2009年11月13日 星期五
每個人都要會的Actionscript Tweener
tweener class是一個open source的actionscript項目,支援的版本有
ActionScript 2.0, for Flash 7+ and Flash Lite 2.0+ <--連Flash Lite都支援,夭壽哦!
ActionScript 2.0, for Flash 8+
ActionSctipt 3.0, for Flash 9+
該有的都有了,而且作者還有製作成swc,真是貼心...
為什麼是每個人都要會??
對於用as來製作效果或動作的人來說,真的要好好利用tweener
不僅可以幫你節省非常多的計算動作的時間,甚至簡化很多語法
讓as可以更精簡
對設計師來說會tweener可讓你的動畫做的更好,大量簡化拉時間軸所產生的動作,
也可減少swf的大小呎吋,還有最重要的一點
tweener真的不難,貼一貼都能動作,所以千萬不要排斥
話不多說,介紹一下如何使用
ActionScript 2.0, for Flash 7+ and Flash Lite 2.0+ <--連Flash Lite都支援,夭壽哦!
ActionScript 2.0, for Flash 8+
ActionSctipt 3.0, for Flash 9+
該有的都有了,而且作者還有製作成swc,真是貼心...
為什麼是每個人都要會??
對於用as來製作效果或動作的人來說,真的要好好利用tweener
不僅可以幫你節省非常多的計算動作的時間,甚至簡化很多語法
讓as可以更精簡
對設計師來說會tweener可讓你的動畫做的更好,大量簡化拉時間軸所產生的動作,
也可減少swf的大小呎吋,還有最重要的一點
tweener真的不難,貼一貼都能動作,所以千萬不要排斥
話不多說,介紹一下如何使用
2008年9月4日 星期四
製作自已的 flash 影片播放面版
在flash cs3裡要自已做一個播放面版其實是很簡單的事,雖然在flash cs3裡有一堆內建的面版可以選擇,但真正要拿來做商業應用大家應都會自已再重做一個,所以接下來就描述一下怎麼去修改出一個屬於自已的播放面版。
1.首先做一個播放外框、播放(暫停)按鈕、音效按鈕,如下圖

2.接下來我們的video跟播放bar都要用flash cs3裡面的內建組件 FLVPlayback與SeekBar來完成。

3.拉出FLVPlayback組件與SeekBar組件到場景上,在FLVPlayback組件參數設定裡把FLVPlayback的skin設定成「無」,因為我們不用flash cs3內建的播放面版。


4.接下來就是修改組件,把SeekBar組件修改成自已的風格。在SeekBar上按滑鼠右鍵->編輯,會進到SeekBar組件裡,裡面有二格影格如下圖,圖層說明如下:
script圖層
this.handleLinkageID = "SeekBarHandle"; //設定播放頭
this.handleLeftMargin = 2; //SeekBarHandle左偏移(不用動)
this.handleRightMargin = 2; //SeekBarHandle右偏移(不用動)
this.handleY = 11;//SeekBarHandle上下偏移量
assets圖層:SeekBarHandle(影片播放的磁頭)
progress圖層:播放bar
outline圖層:播放bar的外框

修改progress跟assets圖層裡的元件如下圖所示。可看到修改assets裡的SeekBarHandle後位置有一點下面,所以這時要調整scripts圖層裡的this.handleY 改成 this.handleY=5,這樣播放的紅色磁頭就會在中間。

5.接下來就要下指令去控制影片播放了場景上的元件分別給myVideo、player_mc、sound_mc、mySeekBar的名稱,然後加入底下程式碼。
import fl.video.FLVPlayback;
import fl.video.VideoEvent;
var sound:SoundTransform;//sound
sound = myVideo.soundTransform;
mySeekBar.width = 200;
myVideo.seekBar = mySeekBar;
myVideo.source="test.flv";//影片位置
/*影片播完*/
myVideo.addEventListener(VideoEvent.COMPLETE, goCOMPLETE);
function goCOMPLETE(e:VideoEvent):void {
myVideo.seek(0);
player_mc.gotoAndStop(2);
}
/*sound_mc*/
sound_mc.buttonMode = true;
sound_mc.addEventListener(MouseEvent.CLICK, soundClick);
function soundClick(evt:MouseEvent):void
{
var tmp:MovieClip = (evt.target as MovieClip);
if( tmp.currentFrame == 1 )
{
sound.volume = 0;
myVideo.soundTransform = sound;
tmp.gotoAndStop(2);
}else{
sound.volume = 1;
myVideo.soundTransform = sound;
tmp.gotoAndStop(1);
}
}
/*player_mc*/
player_mc.buttonMode = true;
player_mc.addEventListener(MouseEvent.CLICK, playerClick);
function playerClick(evt:MouseEvent):void
{
var tmp:MovieClip = (evt.target as MovieClip);
if( tmp.currentFrame == 1 )
{
myVideo.pause();
tmp.gotoAndStop(2);
}else{
myVideo.play();
tmp.gotoAndStop(1);
}
}
stop();
6.這樣就完成一個flv flash player了,其實完成這樣的flash player不難,把播放外框跟按鈕整修的漂亮一點就好了 ^^
demo download
1.首先做一個播放外框、播放(暫停)按鈕、音效按鈕,如下圖

2.接下來我們的video跟播放bar都要用flash cs3裡面的內建組件 FLVPlayback與SeekBar來完成。

3.拉出FLVPlayback組件與SeekBar組件到場景上,在FLVPlayback組件參數設定裡把FLVPlayback的skin設定成「無」,因為我們不用flash cs3內建的播放面版。


4.接下來就是修改組件,把SeekBar組件修改成自已的風格。在SeekBar上按滑鼠右鍵->編輯,會進到SeekBar組件裡,裡面有二格影格如下圖,圖層說明如下:
script圖層
this.handleLinkageID = "SeekBarHandle"; //設定播放頭
this.handleLeftMargin = 2; //SeekBarHandle左偏移(不用動)
this.handleRightMargin = 2; //SeekBarHandle右偏移(不用動)
this.handleY = 11;//SeekBarHandle上下偏移量
assets圖層:SeekBarHandle(影片播放的磁頭)
progress圖層:播放bar
outline圖層:播放bar的外框

修改progress跟assets圖層裡的元件如下圖所示。可看到修改assets裡的SeekBarHandle後位置有一點下面,所以這時要調整scripts圖層裡的this.handleY 改成 this.handleY=5,這樣播放的紅色磁頭就會在中間。

5.接下來就要下指令去控制影片播放了場景上的元件分別給myVideo、player_mc、sound_mc、mySeekBar的名稱,然後加入底下程式碼。
import fl.video.FLVPlayback;
import fl.video.VideoEvent;
var sound:SoundTransform;//sound
sound = myVideo.soundTransform;
mySeekBar.width = 200;
myVideo.seekBar = mySeekBar;
myVideo.source="test.flv";//影片位置
/*影片播完*/
myVideo.addEventListener(VideoEvent.COMPLETE, goCOMPLETE);
function goCOMPLETE(e:VideoEvent):void {
myVideo.seek(0);
player_mc.gotoAndStop(2);
}
/*sound_mc*/
sound_mc.buttonMode = true;
sound_mc.addEventListener(MouseEvent.CLICK, soundClick);
function soundClick(evt:MouseEvent):void
{
var tmp:MovieClip = (evt.target as MovieClip);
if( tmp.currentFrame == 1 )
{
sound.volume = 0;
myVideo.soundTransform = sound;
tmp.gotoAndStop(2);
}else{
sound.volume = 1;
myVideo.soundTransform = sound;
tmp.gotoAndStop(1);
}
}
/*player_mc*/
player_mc.buttonMode = true;
player_mc.addEventListener(MouseEvent.CLICK, playerClick);
function playerClick(evt:MouseEvent):void
{
var tmp:MovieClip = (evt.target as MovieClip);
if( tmp.currentFrame == 1 )
{
myVideo.pause();
tmp.gotoAndStop(2);
}else{
myVideo.play();
tmp.gotoAndStop(1);
}
}
stop();
6.這樣就完成一個flv flash player了,其實完成這樣的flash player不難,把播放外框跟按鈕整修的漂亮一點就好了 ^^
demo download
2008年9月3日 星期三
Sorenson Squeeze 5 簡易教學
最近公司因為要將影片轉檔成flv所以就建議買了Sorenson Squeeze 5來用,其實市面上還有一些不錯的轉檔軟體,像 Flix Pro 、riva,還有opensource的ffmpeg都是不錯的選擇,不過這一套是要給pm使用所以就選擇了Sorenson Squeeze 5功能較符合需求。
安裝就點二下然後一直下一步就完成所以就不在此說明了。安裝好了會先要求你註冊,輸入序號再上網註冊就完成了。
1.在使用前有一個事情要注意就是如果作業系統是非英語系的,請把要轉的檔案放在 c:\下或別的槽位,因為Sorenson Squeeze的軟體不支援中文,放在桌面上或檔名是中文會顯示錯誤。
2.接下來就依照下列圖片的步驟來操作,步驟1:先選擇 import file插入影音檔。
3.步驟2:在畫面上就會出在影片的內容及呎吋,在這裡可以播放影片或剪輯影片要輸出的長度。
4.步驟3:選擇左手邊要輸出的格式,這裡當然是輸出flv的格式。如果是要放在web上播放的影片檔建議使用F8_FastStart_256K、F8_FastStart_512k、F8_FastStart_768K這三種格式就夠了,接下來把要輸出的格式拉到右手邊,就會出現步驟4的畫面。
5.步驟5:按下SQUEEZE IT!,接下來就等待轉檔完成就好。

安裝就點二下然後一直下一步就完成所以就不在此說明了。安裝好了會先要求你註冊,輸入序號再上網註冊就完成了。
1.在使用前有一個事情要注意就是如果作業系統是非英語系的,請把要轉的檔案放在 c:\下或別的槽位,因為Sorenson Squeeze的軟體不支援中文,放在桌面上或檔名是中文會顯示錯誤。
2.接下來就依照下列圖片的步驟來操作,步驟1:先選擇 import file插入影音檔。
3.步驟2:在畫面上就會出在影片的內容及呎吋,在這裡可以播放影片或剪輯影片要輸出的長度。
4.步驟3:選擇左手邊要輸出的格式,這裡當然是輸出flv的格式。如果是要放在web上播放的影片檔建議使用F8_FastStart_256K、F8_FastStart_512k、F8_FastStart_768K這三種格式就夠了,接下來把要輸出的格式拉到右手邊,就會出現步驟4的畫面。
5.步驟5:按下SQUEEZE IT!,接下來就等待轉檔完成就好。

訂閱:
文章 (Atom)



