2008年7月20日 星期日

Flash (星光 滑鼠畫圖)

今日心血來潮,練習一下星光效果跟滑鼠繪圖的功能


星光的效果原本打算用Flash濾鏡,但是竟然在角度變化時,濾鏡會讓星光扭曲

現階段還不熟程式控制濾鏡,只能先拿掉 所以效果就差了,暫時的替代方案是用圖片代替啦(也懶得做)

中途一些些隨筆

右上的正方型板模 是用Bitmap去生 然後用可拖曳

很神奇的我的星光物件生出超過一定數量 監聽的事件就會失效

後來就想辦法remove他,也就解決了

stage.removeChild(MovieClip(evt.target));
contain.splice(evt.target.id);//陣列刪除 配合指定ID當索引
//stage!=root this
第一行是刪除 但是要先轉型從evt抓到的實體,因為他只能remove掉DisplayObject的家族

原本我是用this 跟root嘗試 但是會失敗 因為我add的時候用stage

他會說是不同場景,我原本一直以為是同一個

第二行是我生成一個陣列來存星光的,要刪除必須用splice

雖說用讓物件不被引用指定成null就可以了

但是陣列的情況,留個空格給我,難以掌握現在陣列實際個數

所以還是乖乖用splice來砍吧

var my_cm=new ContextMenu();
my_cm.hideBuiltInItems();
MovieClip(root).contextMenu=my_cm;//隱藏menu 無法使用stage
// 要用root 或是 this.contextMenu

以上程式碼 刪除滑鼠右鍵生成的menu

同樣的,如果用stage會說沒有實體,必須用this 或是root轉型

AS3的root跟parent不若AS2 必須先轉型成影片實體才能使用

所以又是玩多型

沒有留言: