【问题标题】:AS3: Simple way to get the frame number of a frame labelAS3:获取帧标签的帧号的简单方法
【发布时间】:2011-01-31 01:20:38
【问题描述】:

有没有简单的方法来获取帧标签的帧号?

【问题讨论】:

    标签: actionscript-3 frame


    【解决方案1】:

    我尚未对其进行测试,但以下应该可以工作。 Scene 对象的标签属性是一个包含标签和帧数的对象数组。

     private function getFrameByLabel( frameLabel: String ):int
     {
           var scene:Scene = yourMovieClip.currentScene;
    
           var frameNumber:int = -1;
    
           for( var i:int ; i < scene.labels.length ; ++i )
           {
                if( scene.labels[i].name == frameLabel )
                    frameNumber = scene.labels[i].frame;
           }
    
           return frameNumber;
      }
    

    【讨论】:

    • 请注意,如果您不使用场景,也可以使用yourMovieClip.currentLabels 代替scene.labels(因为所有标签都在当前范围内,在这种情况下)。如果您只想解析当前场景中的标签,而不是跨电影中的所有场景,也应该使用此方法。
    【解决方案2】:

    【讨论】:

    • 链接已损坏。
    • 这是一个无益的答案。您错过了问题的主要部分 - 如何从知道框架标签中获得,例如“MyFrameLabel”,有一个FrameLabel 对象来操作。一旦解决了这个问题,从对象中获取帧号就很简单了。
    • 另外,我修复了链接。
    【解决方案3】:

    currentFrame 返回影片剪辑的当前帧号。

    import flash.display.FrameLabel;
    
    var frameNumber:int = -1;
    frameNumber = MyMovieClip.currentFrame;
    

    【讨论】:

    • 这根本不回答问题——它只是获取当前帧号。对于任何给定的标签,OP 想知道如何从“MyFrameLabel”获取它所代表的帧号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多