level 15
拖动的MC元件加入的代码如下
on (press) {
startDrag ("", true); //开始拖动
}
on (release) {
stopDrag ();//停止拖动
obj="/d1"; //底板上相应的图块
if(_droptarget == obj){ //判断释放的图块是否在相应的底板图块上。
//如果是在相应的底板图块上就将
//释放的图块与其对齐,形成一种自动
//吸附的效果。
setProperty("",_x,getProperty(obj,_x));
setProperty("",_y,getProperty(obj,_y));
}
}
捕捉的MC元件实例名称改为d1
2014年11月18日 07点11分
2
![[汗]](/static/emoticons/u6c57.png)
现在问题就是。需要“拖动的MC”元件没有在正确的位置上,然后返回到中间,从而来判定题目是否做的正确
2014年11月18日 11点11分
level 9
答案实例名:a1、a2、a3..............a8
底板实例名:b1、b2、b3..............b8
for (var i = 1; i<=8; i++) {
this["a"+i].id = i;
this["a"+i].x = this["a"+i]._x;
this["a"+i].y = this["a"+i]._y;
this["a"+i].onPress = function() {
this.startDrag();
};
this["a"+i].onRelease = function() {
stopDrag();
if (this.hitTest(this._parent["b"+this.id])) {
this._x = this._parent["b"+this.id]._x;
this._y = this._parent["b"+this.id]._y;
} else {
this._x = this.x;
this._y = this.y;
}
};
}
2014年11月18日 12点11分
8
![[汗]](/static/emoticons/u6c57.png)
原来这是输入在舞台帧上的。。。 还有能再麻烦下大神吗? 如果说要拖到正确的位置出现个“勾”。错误出现个“差” 要如何来输入代码呢?
2014年11月18日 12点11分
回复 ho♂初八 :你的要求不是正确吸附,错误返回原位置吗?还需要什么勾叉。就算需要那也要看你是怎么设计的。
2014年11月18日 12点11分
回复 win_xp2 :这样啊。因为我做的这个一套课件。为了让学生来记住这几个单词才来设计这个小游戏的。 加上勾和差好像也有点太突兀了。 那能是正确拖入过去来一个音效。错误来一个音效吗? 不好意思太麻烦你了
2014年11月18日 12点11分
请问这位大神win_xp2,如果要把静态对象mc拖动以吸附指定的动态对象mc上,而拖动到其它动态对象上就回归原位,该怎么设置代码呢?
2015年09月01日 14点09分
level 9
两个音效标识符分别为sound_a、sound_b
var sound:Sound = new Sound();
for (var i = 1; i<=8; i++) {
this["a"+i].id = i;
this["a"+i].x = this["a"+i]._x;
this["a"+i].y = this["a"+i]._y;
this["a"+i].onPress = function() {
this.startDrag();
};
this["a"+i].onRelease = function() {
stopDrag();
if (this.hitTest(this._parent["b"+this.id])) {
this._x = this._parent["b"+this.id]._x;
this._y = this._parent["b"+this.id]._y;
soundfun("sound_a");
} else {
this._x = this.x;
this._y = this.y;
soundfun("sound_b");
}
};
}
function soundfun(str:String) {
sound.stop();
sound.attachSound(str);
sound.start();
}
2014年11月18日 13点11分
9
![[真棒]](/static/emoticons/u771fu68d2.png)
谢谢大神了。
2014年11月18日 13点11分
求助!我做了一个拖拽配对的游戏。完成后点击“再来一次”却无法控制元件回原位。一直在配对框内。用的是你提供的源代码。 求助要怎么解决呢?
2017年03月15日 06点03分
@lianli211 可以一开始就把元件坐标保存在一个数组里,“再来一次”时把元件坐标设置为相应数组的值就可以。
2017年03月15日 09点03分
@lianli211 现在看了下代码,已经保存坐标了,不用再保存到数组,“再来一次”时直接 原件._x = 原件.x 原件._y = 原件.y 就可以了。
2017年03月15日 10点03分
level 12
代码不要写到按钮上,不好找。代码就像楼上那样写。如果需要加入对错。可以用影片剪辑tipMc做两针,第一针钩,第二针叉。
var orgX;
var orgY;
for (var i = 1; i<9; ++i) {
var quest = _root["a"+i];
quest.onPress = function() {
this.startDrag();
orgX = this._x;
orgY = this._y;
};
quest.onRelease = function() {
this.stopDrag();
var id = this._name.slice(1);
var checkObj = _root["b"+id];
if (this.hitTest(checkObj)) {
this._x = checkObj._x;
this._y = checkObj._y;
//正确
tipMc.gotoAndStop(1);
} else {
this._x = orgX;
this._y = orgY;
//错误
tipMc.gotoAndStop(2);
}
};
}
2014年11月18日 13点11分
10
level 9
Adobe 有直接的代码,在moviechip的方法里
2014年11月25日 13点11分
11