求大佬帮个忙,CS2版本一个效果,已有代码,但是这个代码有BUG
flash吧
全部回复
仅看楼主
level 1
主要体现效果:将一个物品拖动到方框内,达到方框内部范围则停在方框,否则返回原处
设这个物品为MC
物品坐标:X=360 Y=243 方框坐标:X=80 Y=245
代码为:
MC.onPress=function(){this.startDrag();}
MC.onRelease=function(){this.stopDrag();
if(this._x-83<230 and this._y-95<248) {setProperty(this,_x,104);setProperty(this,_y,117);
}
else{setProperty(this,_x,360);setProperty(this,_y,243);}}
这样确实可以达到效果,但是发现了一个很大的问题就是
这个代码,在蓝色围住的范围内,无论你拖哪里,他都可以直接进入方框内的坐标点
这样假设我做选择题,我只需要随便往左上角一拖他就自动进入对应方框内,没有意义了
求大佬们,看看这个代码到底是哪里有问题,谢谢了
2019年05月21日 00点05分 1
level 11
首先,那个MC的注册点要在中心位置,矩形框也要变成影片剪辑,并设置实例名为area
代码重新写如下:
var startX:Number=MC._x;
var startY:Number=MC._y;
MC.onPress=function()
{
this.startDrag();
}
MC.onRelease=function()
{
this.stopDrag();
if(this._x-this._width/2<area._x||this._x+this._width/2>area._x+area._width||this._y-this._height/2<area._y||this._y+this._height/2>area._y+area._height)
{
this._x=startX;
this._y=startY;
}
}
2019年05月21日 01点05分 2
谢谢大佬,您真的太厉害了,我仔细思考下这个代码[大拇指]
2019年05月21日 03点05分
@喀秋莎王冠 不客气,举手之劳
2019年05月21日 03点05分
1