在Flash中的蒙版上拖动对象

时间:2009-04-03 18:42:44

标签: flash actionscript-2 cs3

我在Flash中有一项小任务,我遇到了一些麻烦。

首先,我有2层。第一个是具有各种颜色的渐变,其上面是第二层,它是补间形状(影片剪辑)。对于那些使用CS4的人来说,这是一个经典的补间。我正在使用CS3和Actionscript 2

我已经完成了补间形状,非常简单,它变成了手里剑并回到了圆圈。

问题是,我需要对它进行编程,以便只有当我将鼠标移到圆圈上时才会发生这种情况。如果我将鼠标移离圆圈/手里剑,它应该永远保持在我离开该区域时的形状。因此,如果它是从圆圈到手里剑的一半,并且我从该区域移除了我的鼠标,它应该保持在那个中途形式,而不是跳回到一个圆圈。

其次,我需要能够拖动形状,并且在拖动它时,补间形状必须像通常那样。释放它不会使它停止“补间”,只会移动我的鼠标区域。渐变背景给出了颜色不断变化的美妙效果。

我已将形状补间命名为“circle_mc”。

我无法实施的内容:
1)对我的鼠标悬停的形状 2)使形状可拖动。

有人可以给我一些提示,也许是文章或例子吗?

1 个答案:

答案 0 :(得分:0)

如果我正确关注,您应该可以在补间形状的“circle_mc”剪辑中放置类似于以下脚本的内容。这将允许您创建执行相同操作的剪辑的多个实例。我已经上传了一个测试供您查看。如果这根本不是你的意思,请告诉我。您还可以创建一个外部类作为图形的基类,并将代码放在那里。

var hasRolledOver:Boolean = false;

this.onPress = function():Void
{
    this.startDrag();
}

this.onRelease = function():Void
{
    this.stopDrag();
}

this.onRollOver = function():Void
{
    if (!hasRolledOver)
    {
        this.gotoAndPlay(2);
        hasRolledOver = true;
    }
}

this.onRollOut = function():Void
{
    this.stop();
}

http://typeoneerror.com/media/as/test.fla.zip