| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP
悠博科技50M/FTP/

FLASH+JS做的全屏效果及AS集锦           

FLASH+JS做的全屏效果及AS集锦

作者:佚名 来源:作者: tommyheng 更新:2007-1-13 20:48:31 错误报告 我要投稿

FLASH+JS做的全屏效果!





一、需求分析:
      1:全屏页面分辨率需为   1024*768   如果低于此分辨率,画面精细的效果得不到体现。所以应该限制此分辩率以下的操作系统访问此界面。
      2:打开的全屏窗口应该右上角有最小化、关闭按扭。
      3:每个载入的窗口应该可以移动、关闭、最小化。
      4:桌面上的图标可以拖动,双击。
      5:屏幕底部有一个任务栏,当鼠标移至屏幕底部,任务栏从底部弹出。可以用一个按扭使其退回屏幕底部。

二、技术要点:
   
Java   Script:
      Screen   对象   (object):
               该对象具有以下属性(Properties):
                  availHeight   [有效高度],   (有效高度=高度-任务栏高度)
                  availWidth   [有效宽度],   
                  bufferDepth   [缓冲区大小],
                  colorDepth[颜色深度],
                  height   [高度],   
                  width   [宽度],
                  updateInterval   [更新间隔],


      Window   对象   (object):
         该对象具有以下属性(Properties):
         clientInformation[客户端信息],   closed   [已关闭],   
         defaultStatus[默认状态],   
                                                                              
                                                                                    dialogArguments   [会话框返回数组],
                                                                                    dialogHeight   [会话框高度],   dialogLeft   [会话框距屏幕左],            
                                                                                    dialogTop[会话框距屏幕顶],   dialogWidth[会话框宽度],   
                                                                  (以上5   个属性只适用于己于人showModalDialog()   创建的形式会话框)
         document[文档],   
         event[事件],   
         history[历史],   
         length*[长度],   
         location[位置],   
         name[名称],
         navigator[浏览器],            
         offscreenBuffering   [关闭屏幕缓冲   Y/N   ],   
         opener   [script   开窗口都有opener   指向开这个的窗口   你自己开的浏览器就是空的   
                                                                                                      window.close   根据这个判断的是否提示]   
         parent*,[父窗口]   
         returnValue[返回值],
         screen[屏幕],   
         self[自身],   
         status[状态],   
         top*   [是否顶窗口]

         *An   asterisk   indicates   properties   not   applicable   to   modal   dialogs.   
带*号的属性不可用于   modal   dialogs   (由   showModalDialog()   创建的形式会话框).

               Collections   (集合)

         frames*   [框架]

            方法(Methods):

         alert[警告],   
         blur[最小化],   
         clearInterval   [取消间隔],   
         clearTimeout[清除超时设置],   
         close[关闭],   
         confirm   [确定]   (object.confirm([message])   是否确定?此函数将返回一个逻辑值   ),   
         execScript[执行代码],
         focus[聚焦],   
         moveBy[相对移动],   
         moveTo[移动到],   
         navigate[导航   =window.location.href   本地URL   ],   
         open*   [打开],   
         prompt   [提示],   
         resizeBy   [相对缩放],   
         resizeTo   [缩放到],   
         scroll[卷动],   
         scrollBy[相对卷动],   
         scrollTo[卷动到],   
         setInterval[设置间隔],   
         setTimeout[设置超时],   
         showHelp[显示帮助],   
         showModalDialog*   [显示形式会话框]

         *An   asterisk   indicates   properties   not   applicable   to   modal   dialogs.   
带*号的属性不可用于   modal   dialogs   (由   showModalDialog()   创建的形式会话框).

         事件(Events):

               onbeforeunload[关闭前],   
               onblur[最小化],   
               onerror[错误],   
               onfocus[得到焦点],   
               onhelp[帮助],   
               onload[载入],   
               onresize[缩放],   
               onscroll[卷动],   
               onunload   [关闭]





flash   Action   Script:

      on   (press   [按],   release   [释放],   releaseOutside   [外部释放],   
                  rollOver   [滑过]   ,   rollOut   [滑离],   dragOver   [拖过],   dragOut   [拖离],   
                     keyPress   ""   [按键])   
         
   GetUrl   [转到连接]   ("javascript :self.close()");
   StratDrag("MovieClip");      [开始拖曳]   
   StopDrag("MovieClip");   [停止拖曳]
   loadMovie("*.swf",   "MovieClip");   [加载影片到MovieClip]   
   LoadmovieNum   ("*.swf",n);   [加载影片到第n层]            
   UnLoadmovie("*.swf");   [卸载影片]   
   play()[播放];   stop()[停止];
   
pc_today=new   Date();[新建日期对象]
                        pc_today.getHours();[时]
                        pc_today.getMinutes();[分]
                        pc_today.getTime();[秒]

.getBytesLoaded();[已载入字节数]
.getBytesTotal();[需载入的字节总数]
               _root.getBytesTotal   表示当前SWF文件的字节数.
   
   on(release){
      getURL("javascript :self.close()");      //   [转到连接]
            }
   执行JS代码,关闭当前窗口,同样的
   getURL("javascript :self.blur()");   
   可以使当前窗口最小化.


三、程序代码
         1,控制在1024*768   分辨率以上可以打开全屏的   JS代码。
将此代码放入   <Body></Body>   区。   
         <script   language="JavaScript"   type="text/JavaScript">
            <!--
            function   cc_openBrWindow(theURL,winName,features)   
            {   //v2.0
                        if(screen.width>=1024   &&   screen.height>=768)
                  {
                     window.open(theURL,winName,features);
                  }
                     else
                  {
                     alert("请将分辨率调至   1024   *   768   以上获得最佳显示效果.^_^!")
                  }
         }
         //-->
      </script>   
      <a   href="#"><IMG   SRC="image/index_06.gif"   ALT="Enter   The   Flash   SITE!   Best   View   Mode   1024*768*24   bit."   WIDTH=209   HEIGHT=53   border="0"   onClick="cc_openBrWindow(''flash/index.html'',''full'',''fullscreen=yes'')"></a>
         

      2,Flash   中测试mp3   载入百分比的   AS:
         说明:主场景中有一名为loadmp3   的   MovieClip   .用于载入   mp3   转成的SWF   文件,也可直接载入mp3.
                           
         做一个   100   帧的   loading   MovieClip   名为loading_mv   .
         做一个两帧的无图象的MovieClip      名为loading_mv_test   .   
         
   第一帧代码如下:               
         mp3loaded   =   _root.loadmp3.getBytesLoaded();
         mp3total   =   _root.loadmp3.getBytesTotal();
         mp3percent   =   0;
      if   (mp3total>1000   &&   mp3loaded>10)   {               
                                             //当主场景中的   loadmp3   没有载入影片   mp3loaded的值为1   ,而不为0   ;
                                             //因为有一个字节来表示这个   MovieClip   
   mp3percent   =   int   (mp3loaded/mp3total*100);
   _parent.gotoAndstop(mp3percent);
         }   else   {
   _parent.gotoAndstop(1);
      }
      pctoday   =   new   Date();
      pctime   =   pctoday.getHours()   add   ":"   add   pctoday.getMinutes()   add   ":"   add   pctoday.getSeconds();
//在场景中建立一个动态文本对象,变量名为pctime,   就可以实时显示系统时间了。

   第二帧代码如下:
   gotoandplay(1);

   3,桌面图标的主要代码:

on   (press)   {
            startDrag("");
}
on   (release)   {
            stopDrag();
            frame   =   time._currentframe;
            if   (settime   ==   0)   {                                    
                  //settime   ==0   表示还没有开始计时。settime   ==1   表示已经开始计时。
                        time.gotoandplay(1);
                        settime   =   1;
            }
                  //开使记时,设置记时位   settime   .
            if   (settime   ==   1   &&   frame<=6)   {   
                  //开始计时的6帧以内,(0.5S)   再次释放鼠标。   
                        loadMovie("000.jpg",   "_root.picback.bak");      
                  //也可以换成其他动作。
            }   else   {
                        settime   =   0;   //计时位复位。
            }
}

//time   为一个二十帧的   MovieClip,
//在二十帧的as   为   stop();

四、原文件


点击浏览该文件
********************************
自己日常收集的和自己做的,给大家分享!
部分没有自己考究过,如果有错,请指出!



设置首页代码:

on   (release)   {
geturl("javascript :document.body.style.behavior=\"url(#default#homepage)\";document.body.sethomepage(\"http://www.flash8.net
")",   "_self");
}

加为收藏代码:


on   (release)   {
   geturl("javascript :window.external.addfavorite(\"http://www.flash8.net\")",   "_self");
}
   

判断输入是否为数字的函数:   

                                                                                    
on(release){   
if(Number(pass)==NaN){//判断输入是否为数字   
pass="";   
}   
   
                                                

检查E-MAIL的函数:
   
function   checkemail(email)   {
   var   str   =   new   String(email);
   var   arr_email   =   str.split("@");
   if   ((arr_email.length   !=   2)   ||   (arr_email[1].indexOf(".")<1))   {
      return   (false);
   }   else   {
      return   (true);
   }
}
                                                                  

延时函数:

function   showTime(second,   option)   {
   //延时函数   
   this.createEmptyMovieClip("t_mc",   9999);
   t   =   getTimer();
   f   =   false;
   if   ((getTimer()-t)>(second*1000))   {
      option();
   }
}
function   go()   {
   //加入效果   
   jpg2._y   =   jpg2._y+77;
   jpg2._alpha   =   jpg2._alpha-15;
}
fscommand("fullscreen",   "true");
createEmptyMovieClip("jpg1",   1);
createEmptyMovieClip("jpg2",   2);
jpg1.loadMovie("1.jpg");
jpg2.loadMovie("2.jpg");
i   =   0;
while   (i<=100)   {
   showTime(0.1,   go);
   i   =   i+20;
}
                                                               
                                                                                                                           

FLASH中的保留小数的函   

int(你的数*10)/10;      
这样是保留一位      
乘上100就是两位。以此类推   
   
                                                         

FLASH脚本实现关机   

flash5:      
fscommand   ("exec","rundll"+chr(9)+"user.exe,exitwindows");   
                                                      
                                                      
                                                      
                                          

鼠标双击问题!
   

lsn_DbClick   =   new   Object();
lsn_key   =   new   Object();
lsn_DbClick.onMouseDown   =   function()   {
   clickTime   =   getTimer();
   if   (clickTime-lastClickTime<=300)   {
      trace("双击了鼠标");
   }
   lastClickTime   =   clickTime;
};
Mouse.addListener(lsn_DbClick);
time   =   getTimer()-down_time;
if   (time<300)   {
   //双击后的代码部分   
}
down_time   =   getTimer();
怎样在从另一个swf中获取变量   
                                          
loadMovieNum("vars.swf",   1["POST"]);
_root.onEnterFrame   =   function()   {
   trace(_level1.myvab);
};
//当加载完毕后,输出就有值了...   
                                       

鼠标右键及滚轮的代码   

   
                                                         if   Key.isDown(2){},(左键的代码是1)      
                                       
                                    左键:Key.isToggled(1)   
                                    右键:Key.isToggled(2)   
                                    滚轮:Key.isToggled(4)   
                                    滚轮1:Key.isToggled(4)   PC机上用   
                                    滚轮2:Key.isToggled(3)   MAC机上用   
                                    未知:Key.isToggled(3)   
         this.onEnterFrame   =   function()   {   
            if   (Key.isDown(2)){   
            trace("asdfjsdjkf");   
            }   
         }   
            
            
            
            
   

实现TAB功能
   

                                 获得焦点   
                                 使用Selection.setfocus()函数      
                                 举个例子:      
                                 例如你在主影片中有N个文本框,变量分别为text1,text2.....你想使影片一播放就把焦点落到第一个
文本框你就在第一FRAME   加AS如下:      
                                 Selection.setfocus("_root.text1");      
                                    
                                 我们可以举一反三      
                                    

实现TAB功能   二   

                                 把这个N个文本框做组成一个数组      
                                 numarray=new   array("_root.text1","_root.text2",....................."_root.textn");      
                                 首先获得鼠标焦点      
                                 x=Selection.getfocus();/*   x   获得鼠标焦点的一个字符串      
                                 for(i=0;i<=n;i++)      
                                 {      
                                 if(numarray[i]==x){      
                                 num=i;   /*获得当前焦点在数组中的位置      
                                 }      
                                 然后编写TAB键功能      
                                 on   (keyPress   "<TAB>")   {      
                                 if   (num==n){num=0;}      
                                 else{num++;}      
                                    
                                 Selection.setfocus(numarray[num]);      
                                    
                                 }   
按钮能像window那样用Tab键来转换选择   
                           用button.onKillFoucus
   
                  
               *两点间画直线   
                  *画螺旋线   
                  *画正方形、圆、椭圆   
                  *抛物线   
                  *正弦、余弦线   
                     
                     
                  使用方法:加到帧中就可   
                     
                     
                  //   画直线   
                  //   /   x1,   y1:   起点坐标   
                  //   x2,   y2:   终点坐标   
                  //   k是层次   
                  Movieclip.prototype.drawline   =   function(x1,   y1,   x2,   y2,   k)   {   
                     this.linestyle(1);   
                     this.moveTo(x1,   y1);   
                     this.lineTo(x2,   y2);   
                  };   
                  //   从(0,0)到(100,100)画一条线   
                  _root.createEmptyMovieClip("mc",   10);   
                  mc.drawline(0,   0,   100,   100);   
                  //   画螺旋线   
                  //   w、h为宽和高   
                  //   f控制线的长短,用弧度表示   
                  Movieclip.prototype.drawhelix   =   function(w,   h,   f)   {   
                     for   (var   i   =   0;   i<f;   i   +=   0.05)   {   
                        this.lineTo(x=Math.sin(i)*i*w,   y=Math.cos(i)*i*h);   
                        this.linestyle(1);   
                     }   
                  };   
                  //   以(100,100)为中心画螺旋线   
                  _root.createEmptyMovieClip("luo",   1);   
                  with   (luo)   {   
                     drawhelix(5,   5,   13);   
                     _x   +=   100;   
                     _y   +=   100;   
                  }   
                  //   多功能函数,可画圆,椭圆,正多边形等   
                  //   n为边数   
                  Movieclip.prototype.drawmany   =   function(w,   h,   n)   {   
                     f   =   2*Math.PI;   
                     for   (var   i   =   0;   i<=f/n*(n+1);   i   +=   f/n)   {   
                        this.lineTo(x=Math.sin(i)*w,   y=Math.cos(i)*h);   
                        this.linestyle(1);   
                     }   
                  };   
                  //   画一正五边形   
                  _root.createEmptyMovieClip("duobian",   2);   
                  with   (duobian)   {   
                     drawmany(50,   50,   5);   
                     _x   +=   250;   
                     _y   +=   100;   
                     //   5为多边形的边数,6.3为2pai   
                  }   
                  //   画一椭圆   
                  _root.createEmptyMovieClip("tuo",   3);   
                  with   (tuo)   {   
                     drawmany(25,   50,   100);   
                     _x   +=   400;   
                     _y   +=   100;   
                  }   
                  //   圆   
                  _root.createEmptyMovieClip("yuan",   4);   
                  with   (yuan)   {   
                     drawmany(50,   50,   100);   
                     _x   +=   400;   
                     _y   +=   300;   
                  }   
                  //   抛物线   
                  Movieclip.prototype.drawparabola   =   function(l,   r,   k)   {   
                     for   (var   i   =   -l;   i<=r;   i   +=   1)   {   
                        this.lineTo(x=i,   y=k*i*i);   
                        this.linestyle(1);   
                     }   
                  };   
                  //   调用   
                  _root.createEmptyMovieClip("parabola",   100);   
                  with   (parabola)   {   
                     drawparabola(50,   50,   0.05);   
                     _x   +=   200;   
                     _y   +=   200;   
                     //   顶点坐标   
                  }   
                  //   正弦线,余弦类似   
                  Movieclip.prototype.drawsin   =   function(n,   k)   {   
                     for   (var   i   =   0;   i<=90*n;   i   +=   1)   {   
                        this.lineTo(x=i,   y=k*Math.sin(i*Math.PI/180));   
                        this.linestyle(1);   
                     }   
                  };   
                  _root.createEmptyMovieClip("sin",   101);   
                  with   (sin)   {   
                     drawsin(4,   50);   
                     _x   +=   200;   
                     _y   +=   200;   
                     //   顶点坐标   
                  }   
                  Movieclip.prototype.drawwave   =   function(w,   h)   {   
                     for   (var   i   =   0;   i<=6.3;   i   +=   0.01)   {   
                        this.lineTo(x=w/Math.cos(i),   y=h*Math.sin(i)/Math.cos(i));   
                        this.linestyle(1);   
                     }   
                  };   
                  _root.createEmptyMovieClip("wave",   105);   
                  with   (wave)   {   
                     drawwave(100,   100);   
                     _x   +=   200;   
                     _y   +=   200;   
                     //   顶点坐标   
                  }   
                     
一个动态文本设置alpha函数。   
                  
         function   setAlpha(ob
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。