flash - gotoAndPlay/gotoAndStop 不适用于数字帧标签

标签 flash actionscript-3 flash-cs4 flash-cs5 flash-cs3

出于我无法控制的原因,我目前正在处理一系列带有数字帧标签的 Flash 文件。这会导致一个问题,因为在使用 gotoAndPlay/gotoAndStop 时,Flash 似乎将字符串视为整数。

屏幕截图:

screenshot

例如,gotoAndPlay('96') 实际上不会转到标签为“96”的帧,而是转到#96 帧。

现在,似乎唯一的解决方案是手动找出每个标签所在的帧,因此我不会使用 gotoAndPlay('96') 我会使用 gotoAndPlay (718)。显然,这会很乏味(有很多帧标签),并且如果任何编辑需要移动东西,还需要更改帧编号。

有什么想法吗?无论如何,有没有办法强制闪光灯在我忽略的数字帧标签上进行gotAndPlay/Stop?

最佳答案

对我来说,这似乎是一个 Flash Player 错误(或者至少是一个设计缺陷)。但是您应该能够使用 MovieClip 上的 currentLabels 属性,这将为您提供一个 FrameLabel 对象数组。然后使用它在帧标签数字字符串和实际帧编号之间创建您自己的映射。

这是我正在讨论的一些示例代码:

var label : FrameLabel;
var mapping : Object = {};

// Create a mapping between frame label string (regardless of semantics)
// and the frame number that it corresponds to.
for each (label in myMovieClip.currentLabels) {
  mapping[label.name] = label.frame;
}


/**
 * Your own version of gotoAndPlay for labels, which will look into your
 * recently created mapping and play the right frame (by number) for the
 * given frame label.
*/
function gotoAndPlayLabel(label : String) : void
{
  myMovieClip.gotoAndPlay( mapping[label] );
}

然后,您可以使用自己的 gotoAndPlayLabel() 函数通过标签跳转到(并播放)帧。

关于flash - gotoAndPlay/gotoAndStop 不适用于数字帧标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096105/

相关文章:

php - 我可以从 Flash 文件动态生成 300 dpi 图像吗?

flash - AS3 数组向量

Android 返回/菜单键问题

flash - 如何从所有关键帧调整闪光对象

flash - ActionScript : Applying frame to a image/background?

actionscript-3 - 如何检测是否在 Actionscript 3 中按下了删除键?

javascript - jQuery 听起来 IE7/IE8 与 FlashExternalInterface 存在问题

javascript - 播放彩信://streams on my site

javascript - 从遗留代码调用 AngularJS

中间的 Flash 垂直文本对齐