主题:  追踪鼠标效果

5D困丫

职务:普通成员
等级:4
金币:10.0
发贴:1206
注册:2001/1/5 11:29:23
#12001/8/14 9:48:06
帮我看看哪有什么问题,怎么效果没出来?
实物1mc名为move,只有一图形,实物2mc名为mov1,其中实物2mc只有一帧,为隐型按钮(即只有hit),把两 mc调入场景中,action如下:
隐型按钮:on (press) {
    _root.difx = this._x-_root.move._x;
    _root.move.targetx = this._x;
    _root.dify = this._y-_root.move._y;
    _root.move.targety = this._y;
    _root.done = false;
}
实物1mc:
onClipEvent (load) {
    friction = "0.18";
}
onClipEvent (enterFrame) {
    mouse_x = int(targetx-this_x);
    mouse_y = int(targety-this_y);
    if (mouse_x>0 && mouse_y>0) {
        quad = Number(4);
    }
    if (mouse_x<0 && mouse_y>0) {
        quad = Number(1);
    }
    if (mouse_x<0 && mouse_y<0) {
        quad = Number(2);
    }
    if (mouse_x>0 && mouse_y<0) {
        quad = Number(3);
    }
    abs_x = math.abs(mouse_x);
abs_y = math.abs(mouse_y);
tg=abs_y/abs_x;
_root.maths=math.atan(tg)*number(180)/math.PI;
if (quad==1) {
angle=number(90)-number(_root.maths);
}
if (quad==2) {
angle=number(90)+number(_root.maths);
}
if (quad==3) {
angle=number(270)-number(_root.maths);
}
if (quad==4) {
angle=number(270)+number(_root.maths);
}
if (not _root.done) {
setproperty (_this,_rotation,angle);
_root.done=true;
}
speedx=difx*friction;
speedy=dify*friction;
setproperty (this,_y,_root.move._y+speedy);
setproperty (this,_x,_root.move._x+speedx);
difx=int(targetx)-this._x;
dify=int(targety)-this._y;
}
实物2mc:
onClipEvent (load) {
    startDrag (this, true);
}




Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#22001/8/14 9:55:15
隐型按钮:on (press) {
_root.difx = this._x-_root.move._x;
_root.move.targetx = this._x;
_root.dify = this._y-_root.move._y;
_root.move.targety = this._y;
_root.done = false;
}

真的能点中么...



5D困丫

职务:普通成员
等级:4
金币:10.0
发贴:1206
注册:2001/1/5 11:29:23
#32001/8/14 9:58:00
我是在一本书中看到的,照他的在试,好象没什么效果,你觉得该怎么设置?



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#42001/8/14 10:09:38
隐型mc:on (enterframe) {
_root.difx = this._x-_root.move._x;
_root.move.targetx = this._x;
_root.dify = this._y-_root.move._y;
_root.move.targety = this._y;
_root.done = false;
}



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#52001/8/14 10:10:38
实物1mc:
onClipEvent (load) {
friction = "0.18";
}
onClipEvent (enterFrame) {
mouse_x = int(targetx-this_x);
mouse_y = int(targety-this_y);
if (mouse_x>0 && mouse_y>0) {
quad = Number(4);
}
if (mouse_x<0 && mouse_y>0) {
quad = Number(1);
}
if (mouse_x<0 && mouse_y<0) {
quad = Number(2);
}
if (mouse_x>0 && mouse_y<0) {
quad = Number(3);
}
abs_x = math.abs(mouse_x);
abs_y = math.abs(mouse_y);
tg=abs_y/abs_x;
_root.maths=math.atan(tg)*number(180)/math.PI;
if (quad==1) {
angle=number(90)-number(_root.maths);
}
if (quad==2) {
angle=number(90)+number(_root.maths);
}
if (quad==3) {
angle=number(270)-number(_root.maths);
}
if (quad==4) {
angle=number(270)+number(_root.maths);
}
if (not _root.done) {
setproperty (_this,_rotation,angle);
_root.done=true;
}
speedx=difx*friction;
speedy=dify*friction;
setproperty (this,_y,_root.move._y+speedy);
setproperty (this,_x,_root.move._x+speedx);
difx=int(targetx)-this._x;
dify=int(targety)-this._y;
}

这个也是错的,要么改成function,要么也试enterframe



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
#62001/8/14 10:25:41

mouse_x = int(targetx-this_x);
mouse_y = int(targety-this_y);

这会导致什么结果 出错??获取两个变量的整数部分??



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#72001/8/14 10:27:06
别看了,没意义,还不如自己重新写一个。



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
#82001/8/14 10:32:14
我觉得结构定得不够紧凑。

还有,老版可以在两个区发同一帖吗



5D困丫

职务:普通成员
等级:4
金币:10.0
发贴:1206
注册:2001/1/5 11:29:23
#92001/8/14 10:43:45
现在的出版商越来越不负责了,算了,不研究了,真的还不如重写