收藏九域天地
九域天地友情链接
九域天地留言本
九域天地站点地图
      西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
   
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
    当前位置:首页->设计相关->教程文章->网页设计文章    
   
 
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
九域天地设计新闻
九域天地动向
设计相关文章
 
 
 
 
 
 
标志VI设计教程
鼠标跟随详例

物体对鼠标的跟随可以采用在帧上添加as语句starDrag的方法来实现。
但是采用这种方法所实现的跟随过程太生硬,跟得实在是紧,也就是当鼠标移动到别的位置,物体也很快的移动了过来,假如要让物体慢慢(速度可以控制)的靠近鼠标,使用starDrag这条语句就不能做到。

straDrag的效果:
点击浏览该文件
慢慢靠近的效果:
点击浏览该文件

starDrag语句的功能其实是和下面的代码相同的。

 

onClipEvent (enterFrame) {
xTarget = _root._xmouse;
yTarget = _root._ymouse;
_x = xTarget;
_y = yTarget;
}

这几行代码是添加在物体(影片剪辑)上面的。

其中,语句 _x = xTarget 和 _y = yTarget的作用是使物体的坐标定位到(xTarget,yTarget)上,
而(xTarget,yTarget)就是鼠标的当前坐标。

修改这几行代码,就可以使物体在鼠标移动后,慢慢的靠近鼠标。

_x = xTarget 等价于 _x = xTarget + _x - _x(加一个减一个)
即:_x =_x + (xTarget - _x)
其中的(xTarget - _x)是物体的目标位置与当前位置的坐标差

如果让(xTarget - _x)乘上一个小于1的系数,那么物体就不会突然移动到坐标(xTarget,yTarget)上,
而是慢慢的靠过去。

于是,修改后的代码如下:

onClipEvent (enterFrame) {
xTarget = _root._xmouse;
yTarget = _root._ymouse;
fraction=0.5
_x = _x + (xTarget-_x)*fraction;
_y = _y + (yTarget-_y)*fraction;
}

实现了慢慢靠近

源文件:
点击浏览该文件

对“慢慢靠近”的加以利用:一个跟一个

 

见效果:
点击浏览该文件
源文件:
点击浏览该文件

场景上放置一个影片剪辑,instance name命名为darg0

在帧上添加代码:

copies = 5;
for (var i = 1; i<=copies; i++) {
duplicateMovieClip ("drag0", "drag"+i, i);
eval("drag"+i).num = i;
}

上面的代码复制了5个,drag1~drag5,连同drag0,场景上共6个
其中,还给drag1~drag5定义了内部变量drag1.num~drag5.num

在场景上的drag0上面添加代码:

onClipEvent (enterFrame) {
if (num) {
xTarget = eval("_root.drag"+(num-1))._x;
yTarget = eval("_root.drag"+(num-1))._y;
} else {
xTarget = _root._xmouse;
yTarget = _root._ymouse;
}
fraction = .5;
_x += (xTarget-_x)*fraction;
_y += (yTarget-_y)*fraction;
}

这几行代码使得drag0跟随着鼠标,drag1跟随着drag0,drag2跟随着drag1,……,drag5跟随着drag4

解释一下if这个判断语句

因为drag1.num~drag5.num的值都不为空,所以对于drag1~drag5这5个影片剪辑,执行的代码是:
xTarget = eval("_root.drag"+(num-1))._x;
yTarget = eval("_root.drag"+(num-1))._y;也就是跟随着前一个
而对于drag0,由于没有给它定义num,它的值为空,所以对于drag0,执行的代码是:
xTarget = _root._xmouse;
yTarget = _root._ymouse;也就是跟随着鼠标


 

 第 042 篇  首篇 上一篇 下一篇 返回 
 
 
 
 
  西安九域天地设计咨询网-平面广告设计、VI/CI设计、 室内装饰设计、多媒体动画制作、网站设计制作、招贴海报设计、软件包装设计、展厅效果图设计、公司标志设计 中国西安设计  
九域天地自助链接   九域天地友情链接   九域天地创作团队   九域天地人才招聘   九域天地联系方式   九域天地在线咨询
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
 
九域天地联系电话   写信给九域天地
 
多媒体设计教程 网站设计教程 平面广告设计教程 环境装饰设计教程 界面创意设计教程