[ActionScript 3.0]常用功能代码1



//★★★自动播放背景音乐★★★


import flash.media.Sound;
import flash.net.URLRequest;


var mysound:Sound=new Sound();
mysound.load(new URLRequest("f4.mp3"));


addEventListener(Event.ENTER_FRAME,playsound);
function playsound(event:Event) {
mysound.play(0,99);
removeEventListener(Event.ENTER_FRAME,playsound);
}








//★★★自定义右键菜单★★★


var my_cm = new ContextMenu();
 
var myMenu1_cmi = new ContextMenuItem("上一张图片");
myMenu1_cmi.addEventListener("menuItemSelect",Prev);
function Prev(me:ContextMenuEvent){
this.prevFrame();
}


var myMenu2_cmi = new ContextMenuItem("下一张图片");
myMenu2_cmi.addEventListener("menuItemSelect",NextMenu);
function NextMenu(me:ContextMenuEvent){
this.nextFrame();
}


my_cm.customItems.push(myMenu1_cmi);
my_cm.customItems.push(myMenu2_cmi);
my_cm.hideBuiltInItems(); //隐藏原有菜单
this.contextMenu=my_cm;








//★★★导入外部的TXT文本,并设置格式★★★


System.useCodePage = true;
var word:URLLoader = new URLLoader();
var wordreq:URLRequest = new URLRequest("xxxxxx.txt");
    word.addEventListener(Event.COMPLETE, onTEXTFileLoaded);
    word.load(wordreq);
var my_fmt:TextFormat = new TextFormat();
with(my_fmt){
    size = 16;
    color = 0xFFFFFF;
    leading = size;
    indent = 32; //段落首字缩进
    align = TextFormatAlign.LEFT; //可选RIGHT、CENTER、JUSTIFY
}
function onTEXTFileLoaded(me:Event){
    my_txt.text = word.data;
    my_txt.setTextFormat(my_fmt);
}






//★★★点击两个不同按钮,切换导入含HTML代码的TXT的显示方式★★★


var word:URLLoader = new URLLoader();
var wordreq:URLRequest = new URLRequest("flower.txt");
    word.dataFormat=URLLoaderDataFormat.TEXT; //加载的类型为TEXT,可选BINARY二进制、VARIABLES变量
//如果不用按钮直接显示就加word.addEventListener(Event.COMPLETE,loader_complete);
    word.load(wordreq);

text_btn.addEventListener("click",loadtext);
function loadtext(me:MouseEvent){
    msg_txt.text = word.data;
}
html_btn.addEventListener("click",loadhtml);
function loadhtml(me:MouseEvent){
    msg_txt.htmlText = word.data;
}










//★★★链接至网页URL,并向网页传递参数★★★


search_btn.addEventListener("click",goSearch);
function goSearch(me:MouseEvent){
    var url:String = "http://search.yahoo.com/search";
    var my_req:URLRequest = new URLRequest(url);
    var variables:URLVariables = new URLVariables();
variables.decode("p=" + search_txt.text);
    //上面那句也可以写成 variables.p = search_txt.text;
    my_req.data = variables;
    my_req.method = URLRequestMethod.POST;
    navigateToURL(my_req);
 }


/*百度搜索参数如下:
search_btn.addEventListener("click",goSearch);
function goSearch(me:MouseEvent){
    var url:String = "http://www.baidu.com/s";
    var my_req:URLRequest = new URLRequest(url);
    var variables:URLVariables = new URLVariables();
        variables.wd= search_txt.text;
        variables.cl="3";
        variables.ie="utf-8";
    my_req.data = variables;
    my_req.method = URLRequestMethod.POST;
    navigateToURL(my_req);
 }
*/






//★★★加载Loading本文件★★★


this.stop();
//单位转换除以1000用的
function setNum(num){
return Math.round(num/1000);
}


var myInfo:LoaderInfo=this.loaderInfo;


this.addEventListener("enterFrame", initHandler);
function initHandler(event:Event){
var myTbytes=myInfo.bytesTotal;
var myLoaded=myInfo.bytesLoaded;
var percent = myLoaded/myTbytes;
if (percent<1){
   bar_mc.scaleX=percent;
            percent_txt.text= int(percent*10000)/100 + "%";
   total_txt.text=setNum(myTbytes);
   loaded_txt.text=setNum(myLoaded);
//计算剩余时间秒数
var SecondsLeft = (myTbytes-myLoaded)/(myLoaded/getTimer());
//计算分钟并格式化时间
Minutes = Math.floor(setNum(SecondsLeft)/60);
 if(Minutes<10){
 Minutes="0"+Minutes;
 }
Seconds = int(setNum(SecondsLeft)-(Minutes*60));
 if(Seconds<10){
 Seconds="0"+Seconds;
 }
timeleft_txt.text = Minutes + "m"+Seconds + "s";
}else{
        this.removeEventListener("enterFrame", initHandler);
this.gotoAndPlay(2);
}
}






//★★★加载外部文件(SWF或图片)★★★


var myLoader:Loader = new Loader();
var url:String = "xxxxxx.jpg";
var urlReq:URLRequest = new URLRequest(url);
myLoader.load(urlReq);
pic_mc.addChild(myLoader);

this.addEventListener("enterFrame", initHandler);
function initHandler(event:Event){
var myInfo:LoaderInfo=myLoader.contentLoaderInfo;
myLoaded=myInfo.bytesLoaded;
myTbytes=myInfo.bytesTotal;
        var percent = myLoaded/myTbytes;
        bar_mc.bar.scaleX=percent;
        percent_txt.text= int(percent*10000)/100 + "%";
}






//★★★点击按钮后(或自动播放),自定义时间间隔播放图片或影片片段★★★


function timeSpeed(){
var totalNum = pic_mc.totalFrames;
var nowNum = pic_mc.currentFrame;
if (nowNum<totalNum){
pic_mc.nextFrame();
}else{
pic_mc.gotoAndPlay(1);
}
}


pic_btn.addEventListener("click",showpic);
function showpic(me:MouseEvent){
setInterval(timeSpeed,1000); //1000是指间隔1秒
}
//如果要自动播放,就把以上4行改为:
/*
function showpic(){
setInterval(timeSpeed,1000);
}
showpic();
*/


//以下代码写在pic_mc影片片段里的第一帧
stop();






//★★★大量复制影片片段★★★


//先要设置库里“雪花”电影元件→右键菜单→属性→高级→类:snow、基类:flash.display.MovieClip
//这样就可以用new函数来直接创建其新实体


//生成0.1到1之间的随机整数,如不需要整数,可不用这个函数
function randomNum(){
var num = Math.random()*10;
return Math.floor(num)/10;
}
//复制10个
for(i=0 ; i<10; i++)
{
var snowCopy_mc:snow = new snow();
var num = randomNum();
snowCopy_mc.x=Math.random()*500; //场景宽度或需要的宽度
snowCopy_mc.y=Math.random()*300; //场景高度或需要的高度
snowCopy_mc.scaleX *= num;
snowCopy_mc.scaleY *= num;
        snowCopy_mc.alpha = Math.random()*0.5 + 0.5; //随机透明度在0.5到1之间
        snowCopy_mc.rotation = Math.random()*360;
this.addChild(snowCopy_mc);
}






//★★★简单按钮导航★★★


stop();
//本影片内跳转
function myClick(evt:MouseEvent):void {
   if(evt.currentTarget.name=="btn_1"){
       gotoAndStop(1);
   }else if(evt.currentTarget.name=="btn_2"){
       gotoAndStop(2);
   }else if(evt.currentTarget.name=="btn_3"){
       gotoAndStop(3);
   }else if(evt.currentTarget.name=="btn_4"){
       gotoAndStop(4);
   }else if(evt.currentTarget.name=="btn_5"){
       gotoAndStop(5);
   }   
};
//或者是链接到网址
/*
function myClick(evt:MouseEvent):void {
   if(evt.currentTarget.name=="btn_1"){
       navigateToURL(new URLRequest("homePage1.html"), "_self");
   }else if(evt.currentTarget.name=="btn_2"){
       navigateToURL(new URLRequest("homePage2.html"), "_self");
   }else if(evt.currentTarget.name=="btn_3"){
       navigateToURL(new URLRequest("homePage3.html"), "_self");
   }else if(evt.currentTarget.name=="btn_4"){
       navigateToURL(new URLRequest("homePage4.html"), "_self");
   }else if(evt.currentTarget.name=="btn_5"){
       navigateToURL(new URLRequest("homePage5.html"), "_self");
   }   
};
*/
btn_1.addEventListener("click",myClick);
btn_2.addEventListener("click",myClick);
btn_3.addEventListener("click",myClick);
btn_4.addEventListener("click",myClick);
btn_5.addEventListener("click",myClick);






//★★★复杂按钮导航★★★


//★主场景第1帧
stop();
// =========================================================================
// 定义几个数组用来表示子菜单标签
var main_1_subTitle:Array = new Array("按钮_1_1", "按钮_1_2", "按钮_1_3", "按钮_1_4", "按钮_1_5", "按钮_1_6", "按钮_1_7", "按钮_1_8", "按钮_1_9");
var main_2_subTitle:Array = new Array("按钮_2_1", "按钮_2_2", "按钮_2_3", "按钮_2_4", "按钮_2_5", "按钮_2_6", "按钮_2_7");
var main_3_subTitle:Array = new Array("按钮_3_1", "按钮_3_2", "按钮_3_3", "按钮_3_4", "按钮_3_5");
var main_4_subTitle:Array = new Array("按钮_4_1", "按钮_4_2", "按钮_4_3", "按钮_4_4", "按钮_4_5");
var main_5_subTitle:Array = new Array("按钮_5_1", "按钮_5_2", "按钮_5_3", "按钮_5_4", "按钮_5_5");
var subTitle:Array = new Array(main_1_subTitle, main_2_subTitle, main_3_subTitle, main_4_subTitle, main_5_subTitle);
// =========================================================================
// 下面为每一个按钮定义单击事件
function myClick(evt:MouseEvent):void{
   // 使用if条件语句判断单击的按钮
   if(evt.currentTarget.name=="main_1_btn"){
       navigateToURL(new URLRequest("homePage.html"), "_self");
   }else if(evt.currentTarget.name=="main_2_btn"){
       navigateToURL(new URLRequest("subPage2.html"), "_self");
   }else if(evt.currentTarget.name=="main_3_btn"){
       navigateToURL(new URLRequest("subPage3.html"), "_self");
   }else if(evt.currentTarget.name=="main_4_btn"){
       navigateToURL(new URLRequest("subPage4.html"), "_self");
   }else if(evt.currentTarget.name=="main_5_btn"){
       navigateToURL(new URLRequest("subPage5.html"), "_self");
   }else if(evt.currentTarget.name=="main_6_btn"){
       navigateToURL(new URLRequest("subPage6.html"), "_self");
   }else if(evt.currentTarget.name=="main_7_btn"){
       navigateToURL(new URLRequest("http://www.google.com/search?q="+search_txt.text), "_blank");
   }     
};
// 所有按钮的单击事件都会调用函数myClick
this.main_1_btn.addEventListener("click",myClick);
this.main_2_btn.addEventListener("click",myClick);
this.main_3_btn.addEventListener("click",myClick);
this.main_4_btn.addEventListener("click",myClick);
this.main_5_btn.addEventListener("click",myClick);
this.main_6_btn.addEventListener("click",myClick);
this.main_7_btn.addEventListener("click",myClick);
// =========================================================================
// 下面为每一个按钮定义鼠标位于其上时要触发的事件
function openSubMenu(evt:MouseEvent) {
   //使用if条件语句判断鼠标位于其上的按钮,
   if(evt.currentTarget.name=="main_2_btn"){
       subBar_mc.main_btn_which = 1;
   }else if(evt.currentTarget.name=="main_3_btn"){
  subBar_mc.main_btn_which = 2;
   }else if(evt.currentTarget.name=="main_4_btn"){
       subBar_mc.main_btn_which = 3;
   }else if(evt.currentTarget.name=="main_5_btn"){
       subBar_mc.main_btn_which = 4;
   }else if(evt.currentTarget.name=="main_6_btn"){
       subBar_mc.main_btn_which = 5;
   }
   subBar_mc.gotoAndPlay(2);
};
this.main_2_btn.addEventListener("mouseOver",openSubMenu);
this.main_3_btn.addEventListener("mouseOver",openSubMenu);
this.main_4_btn.addEventListener("mouseOver",openSubMenu);
this.main_5_btn.addEventListener("mouseOver",openSubMenu);
this.main_6_btn.addEventListener("mouseOver",openSubMenu);




//★subBar_mc第1帧(subBar_mc是一个子菜单渐现影片动画)
stop();
var main_btn_which:uint;
//编写一个函数用来在实例加载时初始化
function init() {
for (var i:uint = 1; i<=9; i++) {
//初始化按钮,开始时要使按钮不被激活
(this["sub_"+i.toString()+"_btn"]).mouseEnabled = false;
//初始化标签,将标签值都设置为空
(this["subLabel_"+i.toString()+"_txt"]).text = "";
}
for (var j:uint = 1; j<=8; j++) {
//初始化按钮间隔线,使之不可视
(this["gapLine_"+j.toString()+"_mc"]).visible = false;
}
}
init();
//=========================================================================
var myClick:Function = function(evt:MouseEvent) {
    //使用if条件语句判断单击的按钮
    if(evt.currentTarget.name=="sub_1_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_1_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_2_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_2_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_3_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_3_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_4_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_4_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_5_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_5_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_6_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_6_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_7_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_7_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_8_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_8_txt.text+".html"), "_blank");
    }else if(evt.currentTarget.name=="sub_9_btn"){
        navigateToURL(new URLRequest(main_btn_which+"/"+subLabel_9_txt.text+".html"), "_blank");
    }
};
//所有按钮的单击事件都会调用函数myClick
this.sub_1_btn.addEventListener("click",myClick);
this.sub_2_btn.addEventListener("click",myClick);
this.sub_3_btn.addEventListener("click",myClick);
this.sub_4_btn.addEventListener("click",myClick);
this.sub_5_btn.addEventListener("click",myClick);
this.sub_6_btn.addEventListener("click",myClick);
this.sub_7_btn.addEventListener("click",myClick);
this.sub_8_btn.addEventListener("click",myClick);
this.sub_9_btn.addEventListener("click",myClick);


//★subBar_mc第2帧
//当时间轴跳转到此帧时,调用函数重新初始化
init();


//★subBar_mc最后帧
stop();
//让播放头停在该帧,并计算子菜单的数量
var subSum:uint = parent.subTitle[main_btn_which-1].length;
//根据子菜单数量进行循环
for (var i:Number = 1; i<=subSum; i++) {
//激活按钮
(this["sub_"+i.toString()+"_btn"]).mouseEnabled = true;
//根据数组设置子菜单标签
(this["subLabel_"+i.toString()+"_txt"]).text = parent.subTitle[main_btn_which-1][i-1];
}
for (var j:Number = 1; j<=(subSum-1); j++) {
//显示应有的间隔线
(this["gapLine_"+(j).toString()+"_mc"]).visible = true;
}


//★也可以为每个主按钮分别做子菜单影片片段,再在子菜单里写各个子按钮的跳转URL。








//★★★跟随鼠标3D旋转★★★


this.addEventListener("enterFrame", sway);
function sway(event:Event){
var mmx=mouseX;
    var mmy=mouseY;
mc.rotationY=((512-mmx)/512)*40; //左右方向最大旋转40度
mc.rotationX=-((446-mmy)/446)*20; //上下方向最大选择20度
}








//★★ ★★
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值