0

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

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

我已经完成了补间的形状,很简单,变成手里剑,回到圆形。

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

其次,我需要能够拖动形状,并且在拖动它时,补间形状必须像正常情况下一样。释放它不会让它停止“补间”,只有在它的区域移动我的鼠标。渐变背景提供了不断变化的颜色的良好效果。

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

我无法实现的:
1)形状对我的鼠标悬停做出反应
2)使形状可拖动。

有人可以给我一些提示,也许是关于此的文章或示例?

4

1 回答 1

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

于 2009-04-03T19:20:45.700 回答