作者:阿里西西  文章来源:http://www.alixixi.com/  更新时间:2005-12-18
FLASH+JS做的全屏效果及AS集锦

      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.getBytesLoaded();[已载入字节数]
.getBytesTotal();[需载入的字节总数]
               _root.getBytesTotal   表示当前SWF文件的字节数.
   
   on(release){
      getURL("javascript         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();

四、原文件


********************************
自己日常收集的和自己做的,给大家分享!
部分没有自己考究过,如果有错,请指出!   if   ((arr_email.length   !=   2)   ||   (arr_email[1].indexOf(".")<1))   {
      return   (false);
   }   else   {
      return   (true);
   }
}
                                                                  

延时函数:
乘上100就是两位。以此类推                               

FLASH脚本实现关机   
鼠标双击问题!
    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功能
                                    例如你在主影片中有N个文本框,变量分别为text1,text2.....你想使影片一播放就把焦点落到第一个
文本框你就在第一FRAME   加AS如下:      
                                 Selection.setfocus("_root.text1");      
                                    
                                 我们可以举一反三      
                                    

实现TAB功能   二   
                  //   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  
网友评论
相关搜索
阿里西西Baidu.com搜索