|
首页
|
新闻
|
网页
|
设计
|
色彩
|
原创
|
视觉
|
素材
|
动漫
|
酷站
|
策划
|
文案
|
访谈
|
运营
|
编程
|
数据库
|
服务器
|
下载
|
图库
|
您的位置:
幽幽天空
>
网页
>
网页制作
>
Flash教程
>
ActionScript教程
> 文章正文
用户登录
跟随鼠标的萤火虫
各种漂亮的鼠标UR
更改鼠标样式
鼠标后面跟随彩色
个性化鼠标右键内
如何用鼠标左右键
Flash中的鼠标绘画
Flash中的鼠标绘画
简单的检测鼠标是
关于鼠标跟随及鼠
鼠标与mc位置控制
鼠标与mc位置控制
作者:佚名 来源:闪吧 作者: 陪你去…… 更新:2007-1-13 20:48:44
错误报告
我要投稿
要实现的效果很简单就是
鼠标移动,图片移动,鼠标到顶图片也到达边界,按下鼠标,放大图片,释放缩小
,简单得很吧
?我觉得有时思路有时比as语法重要许多,所以我很愿意与大家分享思路
点击浏览该文件
[全屏欣赏]
下面来介绍一点基础知识
为了为对象(如电影剪辑_root)添加一个
接听事件
(Mouse事件)常用的方法如:
Mouse.addListener(newListener)
newListener表示要接听的对象
同样键盘也可以添加事件Key.addListener (newListener)等等,呵呵,要是不明白用用就知道了。
下面介绍一下代码含义了:
主场景第一贞:
主要是用来控制缩放的
fscommand("allscale", false);
fscommand("fullscreen", false);
Mouse.addListener(_root);//创建了mc接听鼠标事件
_root.onMouseDown = function() {
this.Oldtime = getTimer();//当鼠标按下的时候记下此时的时间
this.onEnterFrame = function() {
this.Nowtime = getTimer();
this.preTime = this.Nowtime-this.Oldtime;
if (_root._xmouse<400 && _root._xmouse>0 && _root._ymouse>0 && _root._ymouse<200) {
if (this.mc._xscale<500) {//如果图片不太大的时候执行下面语句
this.mc._xscale = this.mc._yscale += this.preTime/400;
//onEnterFrame记下的时间与鼠标按下的时间差来计算放大的倍数,也就是说时间越长放大越大
} else {
this.mc._xscale = this.mc._yscale=500;
}
};
};
_root.onMouseUp = function() {//接听鼠标释放的时候的事件
this.onEnterFrame = function() {
if (_root._xmouse<400 && _root._xmouse>0 && _root._ymouse>0 && _root._ymouse<200) {
this.vx = (0-this.mc._x)/10;//由于缩小的缘故使原来在场景中的图片
不在场景了,为了避免这个,必须在缩小的时候改变mc的坐标由于mc的0坐标(参见原文件)
不是在最中间,而是在左上角,因此mc没覆盖场景的边缘只会在右下脚出现,所以将他事先
往(0-this.mc._x)/10中的0点处运动才能最可靠保证不出现错误,请一定理解这点!!
this.vy = (0-this.mc._y)/10;
this.vv = (100-this.mc._yscale)/10;
this.mc._x += this.vx;
this.mc._y += this.vy;
this.mc._xscale = this.mc._yscale += this.vv;
};
};
在mc上的代码:主要用于控制位置的:
onClipEvent (load) {
a = 5;//初始化一系列变量
newX = 0;
newY = 0;
xSpeed = 0;
ySpeed = 0;
press = 0;
_root.pre = 1;
}
onClipEvent (enterFrame) {
if (_root.pre) {//
这里不用管这个pre了,是我没删的多余的东东,最好删了,要不可能会有bug哦,我不管了:)
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {//主要作用是不让在没有接触mc的时候也能控制运动
newX = (-_root._xmouse)*((_width-Stage.width)/Stage.width);//这个公式的推导看看前面的图吧,是主要思路的体现了;[
无论你把你的图片弄的多大,场景大小怎样的,都能达到你想要的目的
newY = (-_root._ymouse)*((_height-Stage.height)/Stage.height);
xSpeed = (_x-newX)/a;
ySpeed = (_y-newY)/a;
_x = (_x-xSpeed);
_y = (_y-ySpeed);
}
}
updateAfterEvent(mouseMove);
}
原文件:你可以自己改你的图片和场景的大小,记住图片的(0,0)坐标一定要在左上角!!
希望大家多多支持,看待会有时间不,还有一个同类的坐标的例子,传给大家研究研究
点击浏览该文件
点击浏览该文件
文章录入:skyuu 责任编辑:skyuu
上一篇文章:
按键发射的原理
下一篇文章:
动态平行线背景的制作
【字体:
小
大
】【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
网友评论:
(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
发表评论:
姓名:
评 分:
1分
2分
3分
4分
5分
严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
本站管理员有权保留或删除评论内容。
评论内容只代表机友个人观点,与本网站立场无关。
|
设为首页
|
加入收藏
|
联系站长
|
友情链接
|
版权申明
|
免责声明
:本站刊载的文章均来自网络,若有侵犯您的权益请点击下面QQ联系我!
幽幽天空 WwW.SKYuu.CoM. 2004-2007 Copyright © All Rights Reserved.
赣ICP备05001384号
业务联系QQ:624264050