建立了这个作为一个游戏来说明食物链
我建立了这个作为一个游戏来说明食物链。本场比赛基本上有六张不同的植物和动物需要被放置在正确的顺序。
件“滑”回原来的位置,我想,如果他们被丢弃在错误的地方。
的窍门是利用三角,从点开始被拖动的影片剪辑的距离。
开始:
创建一个形状,并把它转换成一个MC(影片剪辑)。
这将是你的第一个可拖动的剪辑。
我在我的例子中使用6。
创建另一个MC,这将是你想你拖动MC反应灾区的大小和形状。
命名为灾区MC“HIT1”。
然后,您可以设置为0的alpha HIT1。
在我的例子,我做的非常小的。
在主场景中的一个空白层,并将此代码添加到您的时间轴的第一帧:
MastX = 505;
Y1 = 10;
Y2 = 90;
Y3 = 170;
Y4 = 250;
Y5 = 330;
Y6 = 410;
这是X和Y坐标为6,我draggabe的管委会。
由于我的可拖动的MC都垂直排列,我可以用1 X值,而不是6(这是“MastX”)。
主舞台上,将此代码添加到第一个MC,将可拖动:
(记者){this.startDrag();}
(发布,releaseOutside){
如果(this.hitTest(_parent.Hit1)){
this._visible =,假; _parent.Right + = 1;
_parent.Place.Pic3.play();
} {
this.gotoAndPlay(“移动”);
} this.stopDrag();
}
请注意,我使用“_parent”,而不是“_root”。
我发现,虽然_root是一个更快的解决方案开始,
它可能会导致问题,如果你决定以后,你想有这样的电影加载到另一个。
这只是我的偏好研究。
“(新闻)”,使得MC可拖动的(废话!)
和“(释放,releaseOutside)”进行检查,看它是否是目前触摸灾区的“HIT1”MC。
如果它是触摸HIT1释放鼠标时,
可拖动的MC,本身就是无形的,然后讲述了一个MC,命名为“图片1”,这是嵌入在MC命名为“到位”,以发挥。
这揭示了一个较大的图片,一个是可拖动MC(也就是现在的无形的)。的视觉效果,可拖动的MC已经发现它的适当的位置在舞台上。
它也增加了1到变量“右键”。
在MC“图片1”的最后一帧是一段代码,检查,看看如果已经达到了最大数量的“正确”答案,如果有,它讲述了一个主舞台上的MC(这是当前不可见)扮演的“GAME OVER”的消息。
这部分代码看起来像这样:
如果(_parent._parent.Right == 6){
_parent._parent.ExitMov.play();
}
停止();
如果它看起来像我赶了过来,这一点,那是因为我想要得到的肉和马铃薯,本教程中,这是发生什么事如果可拖动MC没有接触到灾区“HIT1”,当鼠标释放。
在这种情况下,可拖动MC gotoAndPlay它自己的时间安排上的“移动”的框架。
它遇到的第一位代码是这样的:
MYX = this._x;
MYY = this._y;
_parent.MyDist = Math.sqrt((MYX-_parent.MastX)*(MYX-_parent.MastX)+(MYY-_parent.Y1)的*(MYY _parent.Y1));
这是好老毕达哥拉斯的的表示定理行动,它给我们的距离从原来的点。
“有点像这样:
“一个直角三角形的斜边的平方等于其它双方”的平方的总和。
如果是不容易理解的(它肯定是不适合我),那么我强烈建议让“Flash游戏设计揭秘”马卡尔·乔布。
它具有优良的章触发和它是如何在游戏中使用。
话虽这么说,我把这个代码在下一帧:
如果(_root.MyDist> 1){
gotoAndPlay(1 _currentframe);
} {
this._x = _parent.MastX;
this._y = _parent.Y1;
gotoAndPlay(1);
}
这将进行检查,以查看是否可拖动MC是目前小于1个像素/单元从它的初始点,在这种情况下,它设置的X和Y的原始坐标。
如果大于1像素/单位从它的出发点是进一步进入到下一帧,其中有这样的代码:
currX = this._x;
咖喱= this._y;
targetX = _parent.MastX;
targetY = _parent.Y1;
DX = targetX currX;
DY = targetY咖喱;
currX + = DX / 3;
咖喱+ = DY / 3;
this._x = currX;
this._y =咖喱;
gotoAndPlay(_currentframe-2);
这将可拖动的MC,设置一个循环中,创建一个deminishing的回报,或缓出效果。
(责任编辑:卓想动画http://www.zxgzs.com)