日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Flash CS4制作切換放大菜單效果(2)_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:Flash cs3教程:位圖動畫的表現(xiàn)
本例為Flash CS3仿真藝術(shù)設計系列教程,在上一課中我們學習了關(guān)閉缺口_完善角色肢體連接,這一課我們來學習位圖動畫的表現(xiàn),在這個教程中,你將被教導怎樣制作布什總統(tǒng)來回地舞蹈。你需要一張布什總的頭像的圖片,一個照像機和一個明白的補間,引導層和角色動畫基礎,

  (5)下面進一步判斷和定位按鈕的位置,第23~29行代碼,判斷i的值是否等于按鈕的總個數(shù),如果等于就將按鈕的坐標設置為(newX,newY),即(0,0),也就是將按鈕位置設置在container_mc容器的原點位置,并使用Tweener類的addTween()方法將其寬/高縮放比例(scaleX, scaleY)都設置為2,影片的發(fā)布效果如圖9-11所示。

  AS3代碼

  import caurina.transitions.Tweener;//導入Tweener類

  //創(chuàng)建一個容器,用于存儲本例中的所有創(chuàng)建的對象

  var container_mc:Sprite = new Sprite();

  container_mc.x = stage.stageWidth/2; //定位在舞臺中心

  container_mc.y = stage.stageHeight/2;

  addChild(container_mc);

  var angle:uint=0; //角度

  var R:Number = 100; //圓的半徑

  var _length:uint = 12; //按鈕個數(shù)

  var newX = 0; //被單擊的按鈕X坐標

  var newY = 0; //被單擊的按鈕Y坐標

  for (var i=0; i<=_length; i++) {

  var _mc:Sprite = new button();

  _mc.buttonMode = true;

  _mc.name = "mc" + i;

  _mc.addEventListener(MouseEvent.CLICK,clickHandler);

  container_mc.addChild(_mc);

  if (i == _length) {

  _mc.x = newX;

  _mc.y = newY;

  //指定此對象禁止接收鼠標消息

  _mc.mouseEnabled = false;

  Tweener.addTween(_mc, {scaleX:2, scaleY:2, time:1, transition:"easeInOutQuint"});

  } else {

  angle += 30;

  var radians:Number = angle * Math.PI / 180;

  var X:Number = Math.cos(radians) * R;

  var Y:Number = Math.sin(radians) * R;

  _mc.x = X;

  _mc.y = Y;

  }

Flash CS4制作切換放大菜單效果,PS教程,思緣教程網(wǎng)

  圖9-11 發(fā)布效果

  (6)下面創(chuàng)建動態(tài)文本對象,為按鈕添加文字。第39~47代碼創(chuàng)建一個不能被選擇且禁止接收鼠標消息的動態(tài)文本,并設置樣式和文本位置。其中第42行代碼禁止接收鼠標事件(如指針經(jīng)過或單擊等事件);第43行代碼是設置字體樣式并調(diào)用 defaultTextFormat()方法,該方法返回一個文本格式對象(TextFormat),然后賦給defaultTextFormat屬性(指定應用于新插入文本的格式)。

  AS3代碼

  var X:Number = Math.cos(radians) * R;

  var Y:Number = Math.sin(radians) * R;

  _mc.x = X;

  _mc.y = Y;

  }

  var _text:TextField = new TextField();

  _text.width = _text.height = 40;//因為默認情況下寬高都為100

  _text.selectable = false; //文字不被選擇

  _text.mouseEnabled = false; //指定此對象禁止接收鼠標消息

  _text.defaultTextFormat = defaultTextFormat(); //設置字體樣式

  _text.text = i;

  _text.x = -_text.textWidth/2 - 2; //設置字體位置

  _text.y = -_text.textHeight/2;

  _mc.addChild(_text); //字體添加到對應按鈕中

  }

  function defaultTextFormat():TextFormat {

  var format:TextFormat = new TextFormat();

  format.font = "黑體";

  format.color = 0xFFFFFF;

  format.size = 20;

  format.bold = true;

  return format

  }

  function clickHandler(e:MouseEvent) {

  var _mc:Sprite = e.target as Sprite;

  newX = _mc.x;

  newY = _mc.y;

  Tweener.addTween(_mc, {x:0, y:0,scaleX:2, scaleY:2, time:1, transition:"easeInOutQuint"});

  Tweener.addTween(container_mc.getChildAt(_length), {x:newX, y:newY,scaleX:1, scaleY:1, time:1, transition:"easeInOutQuint"});

  _mc.mouseEnabled = false;

  var mc:Sprite = container_mc.getChildAt(_length) as Sprite

  mc.mouseEnabled = true;

  container_mc.swapChildren(container_mc.getChildAt(_length),_mc);

  }

  技巧與提示:

  因為本例所編寫的代碼有70多行,為了更好地幫助用戶理解,因此分塊進行展示,用戶可以打開源文件來查看所有的代碼,關(guān)于更多文本格式(TextFormat)的詳細信息可參考幫助文檔。

  步驟(5)中的第20行代碼是為按鈕注冊事件偵聽,偵聽器函數(shù)為步驟(6)中的第59行代碼clickHandler()函數(shù),該函數(shù)的作用是當按鈕被鼠標單擊后,與中間按鈕進行位置的切換,其原理如圖9-12所示。

Flash CS4制作切換放大菜單效果,PS教程,思緣教程網(wǎng)

  圖9-12 clickHandler()函數(shù)原理圖

  (7)在clickHandler()函數(shù)中,首先取得被單擊按鈕的坐標位置(如步驟(6)中的第61和62行代碼),當按鈕被單擊時,被單擊按鈕緩沖運動到container_mc容器的中間(也就是原點(0,0))時會縮放2倍(如步驟(6)中的第64行代碼中的Tweener類方法),同時位于舞臺中間的按鈕會運動到被單擊按鈕的坐標位置(newX,newY),這樣就會產(chǎn)生切換效果(如步驟(6)中的第65行代碼),如圖9-13所示,這里還通過container_mc.getChildAt(_length)方法來取得中間按鈕,并通過69行代碼中的swapChildren()方法來進行交換z軸順序(也稱深度)。

Flash CS4制作切換放大菜單效果,PS教程,思緣教程網(wǎng)

  圖9-13 按鈕的切換效果

  技術(shù)看板:深度設置

  重新設置容器列表中對象所在的深度,可以使用顯示對象容器.setChildIndex的方法來設置,下面列出幾種最為常用的方法,用戶可直接套用。

  AS3代碼

  //(1):用于將“要顯示的對象”進行置頂

  顯示對象容器.setChildIndex(要顯示的對象,要顯示對象容器.numChildren-1)

  //(2):用于將“要顯示的對象”進行置底

  顯示對象容器.setChildIndex(要顯示的對象,0)

  //(3):用于將“要顯示的對象A”插入“顯示對象B”之前

  var target:DisplayObject = 顯示對象容器.getChildByName("顯示對象B")

  顯示對象容器.setChildIndex(顯示對象A,顯示對象容器.getChildIndex(target))

  //(3):用于將“要顯示的對象A”插入“顯示對象B”之后

  var target:DisplayObject = 顯示對象容器.getChildByName("顯示對象B")

  顯示對象容器.setChildIndex(顯示對象A,顯示對象容器.getChildIndex(target)-1)

分享:Flash CS4教程:制作切換撲克牌效果
本例思路: 1 創(chuàng)建實例背景。 2 繪制牌的正面和反面并轉(zhuǎn)換為圖形元件。 3 創(chuàng)建一個牌的容器,轉(zhuǎn)換為元件類Card,將正反面牌分別放置于第1、2

來源:模板無憂//所屬分類:Flash教程/更新時間:2014-10-10
相關(guān)Flash教程