zoukankan      html  css  js  c++  java
  • 利用AS3 ExternalInterface 实现的特殊效果

    构想

    • flash尽量小? 采用背景图片与flash分离方式
    • 可编辑?外部传值
    • flash透明 背景还要有onmouseover 效果? 用AS3调用JS 操作DOM


    原理

    • 利用 AS3  ExternalInterface 接口与 JS通信
    • 用坐标轴 计算得出 onmouseover 元素


    初始化参数如下:

     

    1 var op={
    2             1024,               //flash 宽度
    3             height:530,               //flash 高度
    4             target:'new',              //tatget 不解释你懂的
    5             delay:0.5,                  //动画延迟 时间单位 秒
    6             autoMove:false,         //是否自动运行动画
    7             img:[[imgurl,href,x,y]]  //展示图片数组  
    8         }

     

    与此同时 JS端 并行加载 背景图片中,代码如下:

     

     1 var BgImg = new Image();
     2    
     3     BgImg.onload = function()
     4     {
     5          /*
     6               生成色块、设置动画  
     7 
     8         */
     9          setTimeout(function()
    10         {
    11                 flash=document["flashUpImg"]||window["flashUpImg"];
    12                 if( FlashReady) //验证flash 是否加载完成 (如何验证?) 
    13                 {
    14                         if(flash.jsMove())return; // 初始化设置了autoMove:false 所以这里手动调用
    15                  }
    16                 setTimeout(arguments.callee,10);
    17 
    18          },10);
    19     }

     

    此效果主要AS3 程序:

     

    1 stage.addEventListener(MouseEvent.MOUSE_MOVE,MouseMove);   
    2 
    3 public function MouseMove(event:Event):void {
    4             
    5           ExternalInterface.call("Flash_MouseMove",stage.mouseX,stage.mouseX);//flash调用js中的方法
    6   }

     

    主要JS函数:

     

    1 function Flash_MouseMove(x,y) //鼠标移动函数
    2 {   
    3     var d = Math.floor(x/barWidth);
    4     if(d==nowDiv)return;    
    5     $animate( pc[nowDiv], { 'marginTop':{from:'3px', to:0}, 'opacity':{from:1,to:0.8} }, 150);    
    6     $animate( pc[d],      { 'marginTop':{from:0, to:'3px'}, 'opacity':{from:0.8,to:1} }, 150);
    7     nowDiv = d;
    8     
    9 }

     

     

    原文链接: http://news.9ria.com/2013/0514/27152.html

     

     

     

     

  • 相关阅读:
    PullToRefreshListView 应用讲解
    websql的使用/phonegap操作数据库 sqlite
    HTML5本地存储——Web SQL Database
    PhoneGap 数据库操作
    adb shell命令行
    实现调用Android手机的拍照功能
    Android_照相机Camera_调用系统照相机返回data为空
    Android--数据持久化之内部存储、Sdcard存储
    Android之项目推荐使用的第三方库
    面试常考问题大全
  • 原文地址:https://www.cnblogs.com/atong/p/3080807.html
Copyright © 2011-2022 走看看