摘要:[從flash小遊戲學習as3]學習拖曳、讀圖檔、動態文字、動態MovieClip─MyDear
這個遊戲本來是做模擬養成,但是我做失敗了Orz
應該說沒想像中有趣。
所以做成教學,好讓更多人能做得更好~
首先是拖拉,
將你的Movie Clip命名(decoRed),
然後加入以下程式碼:
decoRed.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
decoRed.addEventListener(MouseEvent.MOUSE_UP, doDrop);
function doDrag(e:MouseEvent):void
{
e.target.startDrag();
}
function doDrop(event:MouseEvent):void
{
//do something
var dst=event.target;
dst.stopDrag();
}
接著是讀檔,其實上上一篇就有教,記得還要新增as檔案喔!
import flash.display.Loader;
import flash.net.FileReference;
import flash.net.FileFilter;
var imageFilter=new FileFilter("Images", "*.jpg;*.jpeg;*.gif;*.png");
var fileR:FileReference=new FileReference();
fileR.addEventListener(Event.SELECT, selectHandler);
//讀檔用按鈕
btnSelect.addEventListener(MouseEvent.CLICK,selectImage);
function selectImage(e:MouseEvent):void{ // click button
fileR.browse([imageFilter]); // browse files
}
//select1是個movie clip顯示圖檔
function selectHandler(e:Event):void{ // file selected
MyDear.s=fileR.name;
fileR.load(); // load file
var _ldr:Loader = new Loader();
var _file:String=MyDear.s;
_ldr.load(new URLRequest(_file));
select1.addChild(_ldr);
}
再來就是動態文字,在label的property(屬性)點選動態文字,然後輸入名稱,
接著這樣做:
// label 叫做txName
txName.text="MyDear~";
動態MovieClip的增加與刪除就比較麻煩,
不過就是先將你要新增的MoviClip範例按Library(元件庫)→右鍵那個元件→屬性→進階(Advanced)→勾選中間兩個的上面for action script那個。
這樣你就會看到你的元件顯示export
接著程式碼這樣做:
//元件叫做decoBlows
var decoBlows:MovieClip = new blow();
addChild(decoBlows);
若要刪除則是:
removeChild(decoBlows);
還有一點提醒,有的Flash太聰明了,要用外部嵌入文字字體,
那樣很麻煩,但如果需要,有兩種方法:
1.寫as將字體加入
2.用內部字體選項,好處是不用寫程式,缺點是檔案會變很大:在label之類的點屬性,看到內部文字還是字體的,點入後,
左方是顯示他原本的字體,右方則是遇到什麼時他會知道要用這個字體,像是中文、標點符號等等。
如果沒有處理,可能會導致亂碼、顯示奇怪的內容。
遊戲網址:
下個遊戲會比這個好的,我相信!