亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

Flash AS3代碼繪制旋轉的3D立體菜單動畫效果

2020-07-17 13:09:35
字體:
來源:轉載
供稿:網友

在這篇教程里,我們將學會如何利用Flash AS3代碼繪制旋轉的3D立體菜單動畫效果,教木馬將會根據鼠標決定旋轉速度。教程繪制效果非常酷,轉發過來,感興趣的朋友快點來學習吧。
演示:



繪制步驟:

1、新建Flash文件,設置寬、高屬性為 550 × 400 。

2、用圓角矩形工具,畫一個 158 × 35的長方形。筆觸為8白色,填充色#0 F7E 88。圖1:



3、將長方形轉換成名為  Menu Item  的影片剪輯。設定注冊點為中心。圖2:



4、雙擊舞臺上的影片剪輯,進入編輯狀態。創建動態文本,在它里面輸入需要的本文。圖3



5、在屬性面板中輸入實例名字  menuItemText 。

6、按下字符嵌入按鈕,插入下列字型。圖4:



7、切換回主場景1,刪除舞臺上的影片剪輯,實例將由代碼生成。

8、打開庫元件面板,右鍵單擊影片剪輯,(CS3選鏈接、CS4選屬性)給元件添加一個綁定類。類名  MenuItem 。圖5:



9、選中第1幀,打開動作面板輸入代碼:


復制代碼
代碼如下:
//The total number of menu items
const NUMBER_OF_ITEMS:uint = 20;
//This array will contain all the menu items
var menuItems:Array = new Array();
//Set the focal length
var focalLength:Number = 350;
//Set the vanishing point
var vanishingPointX:Number = stage.stageWidth / 2;
var vanishingPointY:Number = stage.stageHeight / 2;
//We calculate the angleSpeed in the ENTER_FRAME listener
var angleSpeed:Number = 0;
//Radius of the circle
var radius:Number = 128;
//Calculate the angle difference between the menu items (in radians)
var angleDifference:Number = Math.PI * (360 / NUMBER_OF_ITEMS) / 180;
//This loop creates and positions the carousel items
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {
//Create a new menu item
var menuItem:MenuItem = new MenuItem();
//Calculate the starting angle for the menu item
var startingAngle:Number = angleDifference * i;
//Set a currentAngle attribute for the menu item
menuItem.currentAngle = startingAngle;
//Position the menu item
menuItem.xpos3D = - radius * Math.cos(menuItem.currentAngle) * 0.5;
menuItem.ypos3D = radius * Math.sin(startingAngle);
menuItem.zpos3D = radius * Math.cos(startingAngle);
//Calculate the scale ratio for the menu item (the further the item -> the smaller the scale ratio)
var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);
//Scale the menu item according to the scale ratio
menuItem.scaleX = menuItem.scaleY = scaleRatio;
//Position the menu item to the stage (from 3D to 2D coordinates)
menuItem.x = vanishingPointX + menuItem.xpos3D * scaleRatio;
menuItem.y = vanishingPointY + menuItem.ypos3D * scaleRatio;
//Assign an initial alpha
menuItem.alpha = 0.3;
//Add a text to the menu item
menuItem.menuItemText.text = Menu item + i;
//We don’t want the text field to catch mouse events
menuItem.mouseChildren = false;
//Assign MOUSE_OVER, MOUSE_OUT and CLICK listeners for the menu item
menuItem.addEventListener(MouseEvent.MOUSE_OVER, mouseOverItem);
menuItem.addEventListener(MouseEvent.MOUSE_OUT, mouseOutItem);
menuItem.addEventListener(MouseEvent.CLICK, itemClicked);
//Add the menu item to the menu items array
menuItems.push(menuItem);
//Add the menu item to the stage
addChild(menuItem);
}
//Add an ENTER_FRAME listener for the animation
addEventListener(Event.ENTER_FRAME, moveCarousel);
//This function is called in each frame
function moveCarousel(e:Event):void {
//Calculate the angle speed according to mouseY position
angleSpeed = (mouseY - stage.stageHeight / 2) * 0.0002;
//Loop through the menu items
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {
//Store the menu item to a local variable
var menuItem:MenuItem = (MenuItem)(menuItems[i]);
//Update the current angle of the item
menuItem.currentAngle += angleSpeed;
//Calculate a scale ratio
var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);
//Scale the item according to the scale ratio
menuItem.scaleX=menuItem.scaleY=scaleRatio;
//Set new 3D coordinates
menuItem.xpos3D=- radius*Math.cos(menuItem.currentAngle)*0.5;
menuItem.ypos3D=radius*Math.sin(menuItem.currentAngle);
menuItem.zpos3D=radius*Math.cos(menuItem.currentAngle);
//Update the item’s coordinates.
menuItem.x=vanishingPointX+menuItem.xpos3D*scaleRatio;
menuItem.y=vanishingPointY+menuItem.ypos3D*scaleRatio;
}
//Call the function that sorts the items so they overlap each other correctly
sortZ();
}
//This function sorts the items so they overlap each other correctly
function sortZ():void {
//Sort the array so that the item which has the highest
//z position (= furthest away) is first in the array
menuItems.sortOn(zpos3D, Array.NUMERIC | Array.DESCENDING);
//Set new child indexes for the images
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {
setChildIndex(menuItems[i], i);
}
}
//This function is called when a mouse is over an item
function mouseOverItem(e:Event):void {
//Change the alpha to 1
e.target.alpha=1;
}
//This function is called when a mouse is out of an item
function mouseOutItem(e:Event):void {
//Change the alpha to 1
e.target.alpha=0.3;
}
//This function is called when an item is clicked
function itemClicked(e:Event):void {
trace(Item clicked! Add your own logic here.);
}

10、完成,測試你的影片

教程結束,以上就是利用Flash AS3代碼繪制旋轉的3D立體菜單動畫效果過程,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产欧美一区二区三区久久| 亚洲电影免费观看高清完整版在线| www.日本久久久久com.| 日韩免费精品视频| 亚洲a在线观看| 欧美最猛性xxxxx免费| 亲爱的老师9免费观看全集电视剧| 国产精品三级久久久久久电影| 亚洲最大成人免费视频| 日本韩国欧美精品大片卡二| 国产精品久久久久久久7电影| 欧美综合国产精品久久丁香| 成人久久一区二区三区| 91深夜福利视频| 欧美自拍视频在线| 深夜福利一区二区| 成人在线视频福利| 久久久久久高潮国产精品视| 欧美在线视频一区二区| 亚洲xxx大片| 亚洲视频视频在线| 久久天天躁夜夜躁狠狠躁2022| 国产丝袜一区二区三区| 亚洲精品国产精品自产a区红杏吧| 国内精品美女av在线播放| 日韩亚洲成人av在线| 综合136福利视频在线| 尤物tv国产一区| 久久视频在线免费观看| 91九色视频导航| 欧美性生交大片免网| 深夜福利一区二区| 92看片淫黄大片欧美看国产片| 亚洲成人中文字幕| 亚洲精品一区久久久久久| 国产精品扒开腿做爽爽爽的视频| 亚洲精品电影网| 狠狠久久五月精品中文字幕| 亚洲欧美一区二区三区四区| 国产999精品久久久| 亚洲xxx大片| 成人观看高清在线观看免费| 国内精品久久久久影院 日本资源| 欧美激情日韩图片| 欧美精品免费在线观看| 亚洲丝袜在线视频| 欧美在线精品免播放器视频| 欧美亚洲国产视频小说| 欧美肥臀大乳一区二区免费视频| 欧美成人午夜免费视在线看片| 国产精品观看在线亚洲人成网| 国产精品第1页| 日韩有码片在线观看| 日韩亚洲综合在线| 色偷偷偷综合中文字幕;dd| 亚洲第一精品久久忘忧草社区| 国精产品一区一区三区有限在线| 日韩精品丝袜在线| 欧美性高潮床叫视频| 国产视频综合在线| 欧美精品福利在线| 日韩免费观看高清| 国产精品一二三在线| 最近2019中文字幕mv免费看| 亚洲一区二区三区视频播放| 欧美一级成年大片在线观看| 日本精品一区二区三区在线| 欧美日本精品在线| 一区二区三区在线播放欧美| 欧美资源在线观看| 国产欧美精品一区二区三区-老狼| 精品国产91久久久久久老师| 国产日韩欧美成人| 国产精品欧美激情在线播放| 日韩中文字幕精品| 国产91精品最新在线播放| 国产精品视频xxx| www.日韩系列| 日韩一区二区三区在线播放| 亚洲精品视频在线观看视频| 亚洲精品久久在线| 欧美国产视频一区二区| 91精品国产高清自在线看超| 亚洲japanese制服美女| 国产激情久久久久| 日韩国产精品视频| 亚洲精品永久免费| 亚洲视频专区在线| 国产丝袜一区视频在线观看| 久久天天躁狠狠躁老女人| 欧美野外猛男的大粗鳮| 久久久精品一区二区三区| 美女扒开尿口让男人操亚洲视频网站| 日本成人激情视频| 九色成人免费视频| 日韩精品www| 操日韩av在线电影| 欧美有码在线观看视频| 欧美在线视频免费观看| 九九精品在线播放| 欧美另类老女人| 91久久久亚洲精品| 国产精品va在线播放| 久久色在线播放| 欧美日韩国产91| 欧美激情国产日韩精品一区18| 日本免费在线精品| 日韩高清a**址| 亚洲自拍偷拍第一页| 91精品国产精品| 日韩欧美高清在线视频| 日韩av在线影院| 亚洲激情在线观看| 精品国产一区二区三区久久久| 欧美精品制服第一页| 色综合色综合久久综合频道88| 午夜精品一区二区三区在线视频| 中文字幕最新精品| 日韩欧美中文免费| 超碰97人人做人人爱少妇| 尤物yw午夜国产精品视频明星| 亚洲无线码在线一区观看| 亚洲精品美女久久| 亚洲成色777777女色窝| 亚洲第一中文字幕在线观看| 亚洲精品wwww| 2020久久国产精品| 国产一区二区日韩精品欧美精品| 91免费国产视频| 欧美伊久线香蕉线新在线| 国产精品视频久| 欧美午夜性色大片在线观看| 国产精品亚洲片夜色在线| 国产精品综合久久久| 亚洲一区二区久久久久久| 日韩欧美有码在线| 欧美性xxxx极品hd欧美风情| 亚洲欧美国产精品va在线观看| 日韩视频免费中文字幕| 91精品国产色综合久久不卡98| 亚洲91精品在线观看| 久久欧美在线电影| 国外色69视频在线观看| 欧美激情高清视频| 色先锋资源久久综合5566| 亚洲欧洲在线播放| 欧美高清视频在线观看| 亚洲精品小视频| 91视频国产高清| 久久精品中文字幕一区| 亚洲欧美日韩视频一区| 欧美性69xxxx肥| 国产成人精品最新| 久久福利视频导航| 国产精品视频久| 91亚洲精品一区二区| 日本韩国欧美精品大片卡二| 久久99精品久久久久久琪琪| 在线成人激情视频| 国产精品日韩欧美综合| 久久精品国产96久久久香蕉| 在线电影av不卡网址| 欧美高跟鞋交xxxxxhd| 成人午夜激情免费视频|