
as2.0跟鼠标移动的flash :请问如何让这段AS2.0代码到了边缘就不动了呀?
问题1:请问如何让这段AS2.0代码到了边缘就不动了呀?问题2,:如何使2个或以上的MC移动呢?functionmove_func(){_mc.onEnterFrame=...
问题1:请问如何让这段AS2.0代码到了边缘就不动了呀? 问题2,:如何使2个或以上的MC移动呢?
function move_func() {
_mc.onEnterFrame = function() {
var xpos:Number = Stage.width/1-this._parent._xmouse;
var ypos:Number = Stage.height/1-this._parent._ymouse;
this._x += (xpos-this._x)/300;
this._y += (ypos-this._y)/600;
var ds=Math.sqrt((xpos*this._x+ypos*this._y));
if(ds<=6){
delete this.onEnterFrame;
this._x=xpos;
this._y=ypos;
}
};
}
move_func();
: 展开
function move_func() {
_mc.onEnterFrame = function() {
var xpos:Number = Stage.width/1-this._parent._xmouse;
var ypos:Number = Stage.height/1-this._parent._ymouse;
this._x += (xpos-this._x)/300;
this._y += (ypos-this._y)/600;
var ds=Math.sqrt((xpos*this._x+ypos*this._y));
if(ds<=6){
delete this.onEnterFrame;
this._x=xpos;
this._y=ypos;
}
};
}
move_func();
: 展开
展开全部
var mc1:MovieClip = this.myMC1;
var mc2:MovieClip = this.myMC2;
//记录MC的尺寸
var mcW:Number = mc1._width;
var mcH:Number = mc1._height;
//记录屏幕尺寸
var sw:Number = Stage.width;
var sh:Number = Stage.height;
//设置MC可移动的边界
var topM:Number = 0 + mcH * .5;
var buttonM:Number = sh - mcH * .5;
var leftM:Number = 0 + mcW * .5;
var rightM:Number = sw - mcW * .5;
//设置MC移动速度
var spX:Number;
var spY:Number;
function MoveMyMC(tar:MovieClip)
{
//随机移动:
spX = (Math.random() * sw - tar._x) / 5;
spY = (Math.random() * sh - tar._y) / 5;
tar.spX = spX;
tar.spY = spY;
//设置MC临时XY
var tx:Number;
var ty:Number;
tar.onEnterFrame = function()
{
//记录MC的XY
tx = tar._x;
ty = tar._y;
//改变MC的XY
tx += this.spX;
ty += this.spY;
//检测边界:
if (tx > rightM) {
//右边
tx = rightM;
}
if (tx < leftM) {
//左边
tx = leftM;
}
if (ty < topM) {
//上边
ty = topM;
}
if (ty > buttonM) {
//下边
ty = buttonM;
}
//更新MC位置:
this._x = tx;
this._y = ty;
};
}
this.onMouseDown = function()
{
//如果只有一个MC移动,只要使用一个就可以了:
MoveMyMC(mc1);
MoveMyMC(mc2);
};
var mc2:MovieClip = this.myMC2;
//记录MC的尺寸
var mcW:Number = mc1._width;
var mcH:Number = mc1._height;
//记录屏幕尺寸
var sw:Number = Stage.width;
var sh:Number = Stage.height;
//设置MC可移动的边界
var topM:Number = 0 + mcH * .5;
var buttonM:Number = sh - mcH * .5;
var leftM:Number = 0 + mcW * .5;
var rightM:Number = sw - mcW * .5;
//设置MC移动速度
var spX:Number;
var spY:Number;
function MoveMyMC(tar:MovieClip)
{
//随机移动:
spX = (Math.random() * sw - tar._x) / 5;
spY = (Math.random() * sh - tar._y) / 5;
tar.spX = spX;
tar.spY = spY;
//设置MC临时XY
var tx:Number;
var ty:Number;
tar.onEnterFrame = function()
{
//记录MC的XY
tx = tar._x;
ty = tar._y;
//改变MC的XY
tx += this.spX;
ty += this.spY;
//检测边界:
if (tx > rightM) {
//右边
tx = rightM;
}
if (tx < leftM) {
//左边
tx = leftM;
}
if (ty < topM) {
//上边
ty = topM;
}
if (ty > buttonM) {
//下边
ty = buttonM;
}
//更新MC位置:
this._x = tx;
this._y = ty;
};
}
this.onMouseDown = function()
{
//如果只有一个MC移动,只要使用一个就可以了:
MoveMyMC(mc1);
MoveMyMC(mc2);
};
2011-03-13
展开全部
//======CODE======
onClipEvent (load) {
/* 初始化变量*/
StartSize = 20;
MaxStep = 20;
SizeIncrement = 15;
/* 复制尾巴符号*/
for (var i = 1; i<=MaxStep; i++) {
duplicateMovieClip(Tail_mc, "Tail"+i, i);
with (eval("Tail"+i)) {
_xscale = StartSize+(i*SizeIncrement);
_yscale = StartSize+(i*SizeIncrement);
_alpha = 100-(100/MaxStep)*(i-1);
}
}
/* 隐藏原始的符号*/
Tail_mc._visible = false;
}
onClipEvent (enterFrame) {
/* 让第一个符号跟着鼠标移动*/
Tail1._x = _xmouse;
Tail1._y = _ymouse;
/* 让其他符号跟着前一个符号移动*/
for (var i = 2; i<=MaxStep; i++) {
Temp = eval("Tail"+i);
Temp.xdistance = (eval("Tail"+(i-1))._x-Temp._x)/2+Temp.xdistance*0.3;
Temp.ydistance = (eval("Tail"+(i-1))._y-Temp._y)/2+Temp.ydistance*0.3;
Temp._x += Temp.xdistance;
Temp._y += Temp.ydistance;
}
}
//====CODE END====
onClipEvent (load) {
/* 初始化变量*/
StartSize = 20;
MaxStep = 20;
SizeIncrement = 15;
/* 复制尾巴符号*/
for (var i = 1; i<=MaxStep; i++) {
duplicateMovieClip(Tail_mc, "Tail"+i, i);
with (eval("Tail"+i)) {
_xscale = StartSize+(i*SizeIncrement);
_yscale = StartSize+(i*SizeIncrement);
_alpha = 100-(100/MaxStep)*(i-1);
}
}
/* 隐藏原始的符号*/
Tail_mc._visible = false;
}
onClipEvent (enterFrame) {
/* 让第一个符号跟着鼠标移动*/
Tail1._x = _xmouse;
Tail1._y = _ymouse;
/* 让其他符号跟着前一个符号移动*/
for (var i = 2; i<=MaxStep; i++) {
Temp = eval("Tail"+i);
Temp.xdistance = (eval("Tail"+(i-1))._x-Temp._x)/2+Temp.xdistance*0.3;
Temp.ydistance = (eval("Tail"+(i-1))._y-Temp._y)/2+Temp.ydistance*0.3;
Temp._x += Temp.xdistance;
Temp._y += Temp.ydistance;
}
}
//====CODE END====
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询