在設計選單時
經常會需要將點選的單元Focus效果
當再點選新單元時, 上一個menu會自動退回一般的樣式,
原理其實只需要多用一個變數, 來記住上一個的menu是誰,
當點選新的menu時,就先叫上一個menu退回去
然後新menu再被存進新的變數即可。
經常會需要將點選的單元Focus效果
當再點選新單元時, 上一個menu會自動退回一般的樣式,
原理其實只需要多用一個變數, 來記住上一個的menu是誰,
當點選新的menu時,就先叫上一個menu退回去
然後新menu再被存進新的變數即可。
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; public class Demo extends MovieClip { private var _container :Sprite = new Sprite(); private var _txt :TextField = new TextField(); private var _prevItem :ItemMC = null; //建立一個變數用來記住上一個的選單。 public function Demo() { _container.x = 100; _container.y = 100; this.addChild(_container); this.addChild(_txt); for (var i:int = 0; i < 4; i++) { var _item:ItemMC = new ItemMC(); _item.gotoAndStop(i + 1); _item.x = 130 * i; _item.name = "item" + i; _container.addChild(_item); _item.addEventListener(MouseEvent.CLICK , itemClickHandler); } } private function itemClickHandler(e:MouseEvent):void { var _item:ItemMC = e.currentTarget as ItemMC; //得到廣播者 if (_item == _prevItem) return; //如果按下的物件和上一個物件是同一個,就中斷後方的程式碼。 if (_prevItem != null) _prevItem.setFocus(false); //如果上一個物件不是空值,就讓物件回覆一般樣式。 _item.setFocus(true); _prevItem = _item; //將現在的物件記住在變數里。 _txt.text = _prevItem.name + ":MouseClick"; } } }AS2_AS3_SourceCodeDownload
留言
我最近在研究這種效果的FLASH,
主要是研究AS3,
可是我發現我每次跑都會出現
"找不到定義gs.easing:Cubic
找不到定義gs.TweenMAx"
是不是我有些該定義的沒有定義呢?
不好意思問些愚蠢問題,希望您能夠解答!
謝謝