主题:  关于hittest的问题

sampler

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/6/1 9:34:26
#12001/8/17 11:21:27
onClipEvent (mouseDown) {
this.startdrag(true);
}
onClipEvent (mouseUp) {
this.stopdrag();
}
onClipEvent (enterFrame) {
if (this.hittest(_root.itnr)) {
gotoAndPlay ("Scene 2", 1);
}
}
请问以上代码有问题么,为什么hittest没有效果!



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#22001/8/17 18:10:46
startdrag(this)



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
#32001/8/18 9:05:40
画魔在上个帖子中说
引用:
startdrag(this)

这和this.startdrag()是一样的效果,我认为问题不在这里。

如果用在mousedown event 中,startdrag之前应检查是否被鼠标点击(不点它一样会触发这个事件。

不清楚sampler究竟要实现什么功能。如果是要检测在drag的时候是否接触_root.itnr,则在enterframe event中hittest之前,检测实例是否已被拖动。



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#42001/8/18 9:25:07
_root.gotoAndPlay ("Scene 2", 1);



sampler

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/6/1 9:34:26
#52001/8/18 15:09:55
我做了两个mc,分别是intb和itnr,在舞台中拖动其中一个和另一个相碰之后开始播放"scene2",1.
1.在secne1的第一帧加stop();
2.给itnb加了如上的动作,不好用?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
#62001/8/18 15:29:50
综合一下各种推测,试试这个:

onClipEvent(load){
moving=false;
}
onClipEvent (mouseDown) {
if(this.hittest(_root._xmouse,_root._ymosue)){
this.startdrag(true);
moving=true;
}
}
onClipEvent (mouseUp) {
if(moving){
this.stopdrag();
moving=false;
}
}
onClipEvent (enterFrame) {
if (this.hittest(_root.itnr)) {
_root.gotoAndPlay ("Scene 2", 1);
}
}

编辑历史:[这消息被janlay编辑过(编辑时间2001-08-18 15:30:52)]


sampler

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/6/1 9:34:26
#72001/8/18 18:15:47
拖不动了!!!



sampler

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/6/1 9:34:26
#82001/8/18 18:21:07
onClipEvent (load) {
    drag=false;
}
onClipEvent(mouseDown) {
    drag=true;
}
onClipEvent (mouseMove) {
if(drag){
this._x=_root._xmouse;
this._y=_root._ymouse;
updateAfterEvent(mouseMove);
}
    if (this.hitTest(_root.itnr)) {
_root.gotoandplay("scene2",1);
    }
}
onClipEvent (mouseUp) {
drag=false;
if(not(this.hitTest(_root.itnr))){
_root.gotoandstop("scene1",1);
}
}
这回能动了,可是不播第二场景的电影?



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#92001/8/18 21:00:29
画魔在上个帖子中说
引用:
_root.gotoAndPlay ("Scene 2", 1);



sampler

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/6/1 9:34:26
#102001/8/18 21:21:51
不明白?反正上面的代码不好用为什么?为什么?为什么



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
#112001/8/19 9:52:42
OK,现在弄清楚了

1。 我写的代码中if(this.hittest(_root._xmouse,_root._ymosue))一行中,_ymouse打错了

2。经测试,场景之间的跳转必须在时间轴上完成。

测试动画如下:


页面:点这儿参观

源文件: janlay.top263.net/myfile/hittest/hittest.fla

编辑历史:[这消息被janlay编辑过(编辑时间2001-08-19 09:53:51)]