0

我尝试从 flex 调用 swf 函数( setPoints(nr:int):void; )。

[Embed(source="img/anim/x2.swf")]
[Bindable]
public static var points:Class;

public function strikeAnimation(area:SpriteVisualElement, strike:int):void{
  var mc:MovieClip  =  new points() as MovieClip;
  area.addChild(mc);
  //how to run?
  area.mc.setpoints(strike);
}

有任何想法吗?

4

1 回答 1

1

我试过这样的调用函数 - area.getChildIndex(area.getChildIndex(mc)).setpoints(strike);

您收到上述代码行错误的原因是getChildIndex需要一个 DisplayObject 并返回一个 Integer。

所以,这可能有效:

area.getChildIndex(mc)

但是,它返回了一个整数,您不能将其用作另一个 getChildIndex 调用的输入,因为整数与孩子不同。

这样的事情应该给你一个你孩子的实例:

var myChild :MovieClip = area.getChildAt(area.getChildIndex(mc))

然而, setpoints 方法不是一个movieclip的文档化方法;因此,要在您的自定义影片剪辑上执行 setpoints 方法,您必须将其转换为您的自定义类型。概念上是这样的:

(myChild as myCustomType).setpoints(strike);
于 2013-02-15T16:49:54.840 回答