AS3每个时间分数达到

时间:2014-10-31 04:05:15

标签: actionscript-3

好吧,在Flash项目阶段,有一个动态文本框可以记录舞台上发生的任何活动...鼠标点击,碰撞......等等......

我想要它,以便每次动态文本框(分数框)达到2000(例如2000,4000,6000)...每次我们达到2000倍时隐藏的影片剪辑变得可见...否则电影剪辑是隐藏的。

感谢所有人考虑回复...这就是我所拥有的...它运作正常但我不知道如何制作它以便每次增加2000点时影片剪辑'saleTag'将显示

if (cashBox.text == "2000")
    {
        saleTag.visible = true;
    }
    else
    {
        saleTag.visible = false;
    }

}

2 个答案:

答案 0 :(得分:0)

  1. 阅读一些书籍。例如。科林穆克。如果此时遇到麻烦,您需要获得更多基础知识。

  2. 不要在textfield中存储数据,它通常用于显示数据:)请改用vars:

  3. private var counter:int=0;

    1. 制作一个可以增加计数器的功能,检查条件并管理动画片段的可见性。

      private function increaseCounter():void 
          {
              counter++;
      
              if (Math.floor(counter/2000)==counter/2000) 
              {
                  saleTag.visible = true;
              }
              else 
              {
                  saleTag.visible = false;
              }
          }
      
    2. 每次需要增加一个计数器时都要调用它。

      1. 微调。删除" Else"分支并使用timer \ delayed调用来设置saleTag.visible = false;

答案 1 :(得分:0)

您不能使用cashBox.text计算,这是String。您应首先使用integer变量(n)计算事件,然后测试此变量以了解它是否为2000的倍数, 并将其转换为textField cashBox中的String

saleTag.visible = false;
var n:int = 0;
const LIM:int = 2000;

function clickHandler(e:MouseEvent):void {
    n++;
    cashBox.text = String(n);
    saleTag.visible = (n%LIM == 0) ? true : false;
}
stage.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler);