zoukankan      html  css  js  c++  java
  • addFrameScript 修改自定义button 名字

    如上一个MC的,trace(mc.numChildren);//2

    button.gotoAndStop(3);
    trace(button.numChildren);//3

    说明帧代码是异步执行的。

    用法示例:

       舞台上有一个MovieClip,实例名为foo,当然这个foo是一段效果很炫的动画了~!当到达第300帧时,我要检测一下是否到达300帧,代码如下: 

    foo.addFrameScript(299,gotoAndFun);

    function gotoAndFun():void

    {

       trace("顺利到达第300帧了吧~!");

    }

       这里请务必注意:帧数的计算是从0开始~!

       再查相关资料,原来addFrameScript()还可以接收任意多组的参数: 

     MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);

       也就是说可以同时指定多组触发事件,在1,2,3帧上同时指定触发的动作,如果有不止一个动作事件指定在相同的一个帧上,那么,只有后者的动作会被触发~!

       如果要移除动作怎么做呢?很简单,回调函数为null即可,如下示: 

     MovieClip.addFrameScript(0,null);

     this.mc.addFrameScript ( 0 , this.__onEnterFrame );
      this.mc.addFrameScript ( 1 , this.__onEnterFrame );
      this.mc.addFrameScript ( 2 , this.__onEnterFrame );
      this.mc.addFrameScript ( 3 , this.__onEnterFrame );

     private function __onEnterFrame ( e : Event = null ) : void
     {
      if (this.mc.currentFrame != 1)
      {
       if (this.building.getLevel () == 0)
       {
        this.mc.txt.txt.text = this.building.getName ();
        // this.mc.txt.txt.text = this.building.getName () + "(" + this.building.getLevel () + ")";
       }
       else
       {
        this.mc.txt.txt.text = this.building.getName () + "(" + this.building.getLevel () + ")";
       }
      }
     }

    判断一个MC播放完毕:

    mc.addFrameScript(mc.totalFrames - 1,play_finished);

  • 相关阅读:
    C# 读写xml
    oracle经验小节2
    解决在IE9,IE10浏览器下,程序没有任何错误,easy ui页面不加载任何数据的问题
    解决调试不能命中断点的问题
    在做和sap系统集成的一点心得
    easy ui datagrid 数据分页
    selector-item属性
    scaleType-模拟按钮加文字整天点击效果
    layout-代码中添加view
    linearlayout-weight 属性作用
  • 原文地址:https://www.cnblogs.com/as3lib/p/2561356.html
Copyright © 2011-2022 走看看