actionscript-3 - Flash CC 中的可检查参数未获取值

标签 actionscript-3 flash parameters flash-cc

在迁移到 Flash CC 时,我的 Flash 项目出现了以下问题。

考虑这个类定义:

public class Test extends MovieClip {
  [Inspectable(type="String", defaultValue="val")]
  public var param :String;

  public function Test() {
     trace(param);
  }
}   

我有一个符号“Symbol 1”,它(通过库面板属性)链接到类 Test 并且(通过组件定义)也设置为类 Test,并且此对话框显示参数“param”值为“val”。我在场景中有一个 Symbol 1 的实例。 正如预期的那样,参数“param”出现在该实例的属性中,值为“val”。

唯一的问题是,在运行时,参数“param”的值等于 null,正如在类构造函数执行期间所确认的那样,它输出“null”。

有人知道为什么会这样吗?

最佳答案

Flash 需要 Inspectable 标记来填充组件属性面板,以便手动设置值。这些默认参数和用户输入参数在实例化时不可用,但仅在下一帧可用。 为了在实例化时具有默认值,您还必须为变量本身设置默认值。

  [Inspectable(type="String", defaultValue="val")]
  public var param :String = "val";

此外,在您疯狂访问使用属性检查器插入的值之前,请记住在访问这些值之前添加一个进入框架事件。

我通常在我的组件中做的事情: 1 - 在可检查和变量中填充默认值 2 - 在实例化时,如果接收到参数对象,那么我知道它在代码中被实例化并且值在参数对象内 3 - 如果未收到参数对象,则实例化在时间轴上可视化完成,因此我在下一帧访问属性

关于actionscript-3 - Flash CC 中的可检查参数未获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27494637/

相关文章:

javafx - 传递参数JavaFX FXML

actionscript-3 - 使用 socket.io 将数据从 flash 发送到 node.js 服务器

apache-flex - Flex 中的全局变量

java - 将 FREArray 从 Java 返回到 Flash

javascript - 在 Animate CC 2017 中使用 easeljs 进行拖放

java - (JAVA) 参数和返回类型错误

apache-flex - AIR/ ActionScript 3.0 : error logging

jquery - Bootstrap-modal 在 Flash 顶部弹出

javascript - JWplayer Javascript 交互不起作用

c++ - 使用 UNREFERENCED_PARAMETER 宏