Flash 从一个实例到另一个实例的行不工作操作脚本3.0
我试图创建可移动的实例,这些实例是可拖动的,并且有一条线连接它们,自动更新 问题是:原始行只是随机移动,不会随着实例mc1、mc2的拖动而更新。 以下是我到目前为止得到的代码:Flash 从一个实例到另一个实例的行不工作操作脚本3.0,flash,actionscript-3,graphics,lines,instances,Flash,Actionscript 3,Graphics,Lines,Instances,我试图创建可移动的实例,这些实例是可拖动的,并且有一条线连接它们,自动更新 问题是:原始行只是随机移动,不会随着实例mc1、mc2的拖动而更新。 以下是我到目前为止得到的代码: mc1.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void { e.currentTarget.startDrag(); }); mc1.addEventListener(MouseEvent.MOUSE_UP, funct
mc1.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
e.currentTarget.startDrag();
});
mc1.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
e.currentTarget.stopDrag();
});
mc2.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
e.currentTarget.startDrag();
});
mc2.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
e.currentTarget.stopDrag();
});
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0x000000);
mc.graphics.lineStyle(2,0x000000);
//start drawing the line
mc.graphics.moveTo(mc1.x,mc1.y);
mc.graphics.lineTo(mc2.x,mc2.y);
mc.graphics.endFill();
//Position your new movie clip
addChild(mc);
谁能告诉我哪里弄错了
谢谢你的帮助 下面的块可能对您有所帮助
mc.graphics.clear();
//mc.graphics.beginFill(0x000000); //no need fills
mc.graphics.lineStyle(2,0);
//start drawing the line
mc.graphics.moveTo(mc1.x,mc1.y);
mc.graphics.lineTo(mc2.x,mc2.y);
//mc.graphics.endFill(); //no need to end it.
您需要做的是捕捉用户拖动MovieClip时鼠标的移动 首先创建一个isDraging变量var isDraging:Boolean=false;当鼠标按下时将其设置为true,当鼠标向上时将其设置为false 然后将MouseEvent.MOUSE\u移动事件侦听器添加到行时间线
addEventListener(MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void
{
if (isDragging) {
drawConnectiveLine(mc1, mc2);
}
return;
});
DrawConnectionVeline方法将更新线向量形状,以移动到movieclips的{x,y}
function drawConnectiveLine(d:DisplayObject, d2:DisplayObject):void {
mc.graphics.clear();
mc.graphics.lineStyle(2,0);
mc.graphics.moveTo(d.x,d.y);
mc.graphics.lineTo(d2.x,d2.y);
}
对预先存在的脚本的修改:
那它会自动更新吗?我应该把你写的所有代码都放在你现有代码的修改下吗?因为每当我做这两件事的时候,我都会遇到很多问题。你能告诉我把什么代码放在哪里吗?现在我所有的问题都是访问未定义的属性mc。我只有一件东西,但代码是库对象mc和它在stage mc1、mc2上的两个实例。你知道为什么会这样吗?你有没有可能发布你制作的真实fla文件?更新后,包括名为mc的新MovieClip
var isDragging:Boolean = false;
var mc:MovieClip = new MovieClip();
mc.graphics.lineStyle(2,0);
mc.graphics.moveTo(mc1.x,mc1.y);
mc.graphics.lineTo(mc2.x,mc2.y);
addChild(mc);
mc1.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
isDragging = true;
e.currentTarget.startDrag();
});
mc1.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
isDragging = false;
e.currentTarget.stopDrag();
});
mc2.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void
{
isDragging = true;
e.currentTarget.startDrag();
});
mc2.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void
{
isDragging = false;
e.currentTarget.stopDrag();
});
addEventListener(MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void
{
if (isDragging) {
mc.graphics.clear();
mc.graphics.lineStyle(2,0);
mc.graphics.moveTo(mc1.x,mc1.y);
mc.graphics.lineTo(mc2.x,mc2.y);
}
});