我对动作脚本很陌生,我对我正在制作的游戏有几个问题:
感谢您的帮助。说真的,任何帮助都很棒。
答案 0 :(得分:0)
首先制作一个可拖动的MovieClip很简单,你只需要做mc.startDrag();和mc.stopDrag();停止运动...
通常这与MOUSE_DOWN和MOUSE_UP事件示例一起完成:
mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
e.currentTarget.startDrag();
});
mc.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
e.currentTarget.stopDrag();
});
您还可以定义锁定中心或限制startDrag方法拖动的矩形,基本上如果锁定中心为真,鼠标将在拖动时粘贴到MovieClip的中心,矩形将限制拖动区域,例如画布。
第二个问题,
您可以在AS3中创建一个新的MC,例如var mc:MovieClip = new MovieClip(); 然后用图形绘制MC中的线......
更详细的例子:
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0x000000);
mc.graphics.lineStyle(2,0x000000);
//start drawing the line
mc.graphics.moveTo(10,10);
mc.graphics.lineTo(10,100);
mc.graphics.endFill();
//Position your new movie clip
mc.x = 80;
mc.y = 60;
addChild(mc);
最后我不确定你是如何实现碰撞检测的,但是你可以为每个项目创建一个状态数组,并在碰撞时更改它们然后你可以循环到数组中以检查它们是否为真...
答案 1 :(得分:0)
1)查看startDrag/stopDrag
方法。然后可以在Sprite或其任何子类
2)是的,您可以使用任何Sprite的graphics
对象绘制任意线条/形状
3)对于碰撞检测多个对象,您必须逐步浏览每个对象。尝试使用for
循环