转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 电脑应用 >> 电脑技术 >> 正文
探讨三星Comdex展示的导航做法         ★★★

探讨三星Comdex展示的导航做法

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2751 更新时间:2003/7/5

下面是其核心部分的as:
代码拷贝框

[Ctrl+A 全部选择 然后拷贝]

大家来分析一下思路。

源文件

所有代码集中在一个帧里
下面是代码及简单注释:

//DARKVN版权所有请勿作商业用途
//本程序需flash 6.0支持。
var BallsNum=7; // 设定节点个数
var centerX=300;//设定节点中心位置
var centerY=200;
var cRadius=120;
var drag=0.2;//震动参数
var flex=0.7;//震动参数
for (var i=0;i<BallsNum;i++){ //生成节点
 _root.attachMovie("pit","pit"+i,100+i);
 var theObj= eval("_root.pit"+i);
    theObj.posXStep = 0;
    theObj.posYStep = 0;
    theObj._x = centerX+Math.floor(cRadius + Math.random() * 50 - 25) * Math.cos(6.283185 * (i + Math.random()) / BallsNum); //带限制的随机节点位置
    theObj._y = centerY+Math.floor(cRadius + Math.random() * 50 - 25) * Math.sin(6.283185 * (i + Math.random()) / BallsNum);
    theObj.goalXPos =  theObj._x;
    theObj.goalYPos =  theObj._y;
    theObj.orgXpos =  theObj._x;
    theObj.orgYpos =  theObj._y;
    theObj.index=i;
 theObj.draging=false;
 theObj.gotoAndPlay(random(60));
 theObj.text="MENUITEM"+ (i+1);
 
 theObj.onEnterFrame =function (){
  if(this.draging){
   this._x=_root._xmouse;
   this._y=_root._ymouse;
   theNext=eval("_root.pit"+((this.index==(BallsNum-1))? 0 : this.index+1));
   var dy=this._y-theNext._y;
   var dx=this._x-theNext._x;
   var d=Math.sqrt(dx*dx+dy*dy);
   var arc=Math.atan2(dy,dx);
   theNext.goalYPos=theNext.orgYpos+Math.sin(arc)*d*0.2;
   theNext.goalXpos=theNext.orgXpos+Math.cos(arc)*d*0.2;
   thePrev=eval("_root.pit"+((this.index==(0))? BallsNum-1 : this.index-1));
   var dy=this._y-thePrev._y;
   var dx=this._x-thePrev._x;
   var d=Math.sqrt(dx*dx+dy*dy);
   var arc=Math.atan2(dy,dx);
   thePrev.goalYPos=thePrev.orgYpos+Math.sin(arc)*d*0.2;
   thePrev.goalXpos=thePrev.orgXpos+Math.cos(arc)*d*0.2;

  }
  else{
      this.posYStep = this.posYStep * flex + (this.goalYPos - this._y) * drag;
      this._y =this._y + this.posYStep;
 
      this.posXStep = this.posXStep * flex + (this.goalXPos - this._x) * drag;
      this._x = this._x + this.posXStep;
  }
 }
 
 theObj.onMouseMove=function(){
  var dx=(_root._xmouse-this._x);
  var dy=(_root._ymouse-this._y);
  var d=Math.sqrt(dx*dx+dy*dy);
  if(d<30 ) {
   this.draging=true;
  }else{
   this.draging=false;
&nbs

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 电脑技术  · 操作系统
    · 磁盘工具  · 视音频技术
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台