国产乱视频网站_久久亚洲一区二区三区四区_免费高清一级毛片_国产精品电影_国产精品乱码一区二区三区_美女天堂网

PS設計教程網歡迎你!

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

文章來源于 動畫設計與制作208例,感謝作者 望月狼 給我們帶來經精彩的文章!
設計教程/設計教程/Flash教程2009-10-13
(2)返回到場景1,新建一個AS圖層,然后在第1幀輸入代碼。本例用到緩沖原理,所以要先導入Tweener類;第3~6行代碼是經常使用到的一種編程方式,首先創建一個容器來存儲所有的對象,便于統一控制,然后使用for()循環語

(2)返回到“場景1”,新建一個AS圖層,然后在第1幀輸入代碼。本例用到緩沖原理,所以要先導入Tweener類;第3~6行代碼是經常使用到的一種編程方式,首先創建一個容器來存儲所有的對象,便于統一控制,然后使用for()循環語句創建12個按鈕元件類對象(如第15~20行代碼)。

AS3代碼

import caurina.transitions.Tweener;//導入Tweener類   
//創建一個容器,用于存儲本例中的所有創建的對象   
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; //按鈕個數   
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;   
    }

(3)第22~29行代碼是利用三角函數來進行精確定位,首先通過for()循環創建_length個按鈕對象,然后進行角度上的遞增30(angle += 30),在已知半徑和角度后,便可以通過三角函數來求得各不同角度的按鈕坐標位置,其主要原理如圖9-8所示。

Flash CS4制作切換放大菜單效果

圖9-8 三角函數原理

(4)創建后的按鈕排序原理圖和發布影片后的效果如圖9-9和圖9-10所示,其中原理圖中的坐標原點為container_mc容器的原點位置。

Flash CS4制作切換放大菜單效果

圖9-9 按鈕排序原理圖

Flash CS4制作切換放大菜單效果

圖9-10 發布效果

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

AS3代碼

import caurina.transitions.Tweener;//導入Tweener類   
//創建一個容器,用于存儲本例中的所有創建的對象   
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; //按鈕個數   
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制作切換放大菜單效果

圖9-11 發布效果

版權所有PS設計教程網公安備案:蘇公網安備 32058302001023號工信部備案:滬ICP備09005587號
aaa
主站蜘蛛池模板: 日韩一区二区三区在线 | 影音先锋成人资源网 | 在线观看中文视频 | 日韩高清中文字幕 | 国产日韩av在线 | 亚洲综合二区 | 五月天久久激情 | www.久久| 狠狠爱www人成狠狠爱综合网 | 久久成人一区 | 在线观看三级视频 | 国产极品美女高潮无套av个 | 天堂在线视频免费 | 三级影院在线观看 | 精品视频在线免费观看 | 国内精品久久精品 | av一级久久 | 99国产精品99久久久久久 | 亚洲午夜精品一区二区三区 | 日韩在线免费观看网站 | 亚洲精品9999| 国产欧美日韩综合 | 国产视频精品在线 | 久久精品一区二区国产 | 欧美在线视频网站 | 日批视频免费 | 先锋影音在线 | 在线播放国产一区二区三区 | 国产精品一区二区在线观看 | 日韩精品一区在线观看 | 天堂在线中文 | 欧美一区二区黄色片 | 日韩欧美一区二区在线 | 亚洲风情在线观看 | 国产一二三区不卡 | 免费在线成人av | 神马久久久久久久久久 | 成人sese | 日本一区二区不卡 | 欧美一区二区三区成人 | 欧美视频免费在线观看 |