0

我正在尝试在 Flash 中创建一个“仪表条”。我正在 Flash 中创建一个交互式房屋。房子里面是消耗能量的物体。(即灯泡、计算机、炉子等...)这些对象是切换按钮(使用 MovieClips 创建)。(这些对象可以切换开/关。)当开时——每个房屋对象都有一个“功率值”(灯泡为 1,计算机为 2,电视为 3……)

我正在尝试创建一个“仪表条”(看起来像一个预加载器条),以直观地显示房屋中正在使用多少电量。有一个完整的仪表条——将打开所有的房子对象。

不知道从哪里开始。任何关于方向的想法或您可能会发现有用的任何教程/示例将不胜感激。

4

1 回答 1

1

您可以创建一个自定义事件,该事件将在每次单击项目时调度。该事件将具有两个属性,功率级别和状态属性。

收到此事件后,您可以更新仪表条的值。如果状态值为 "Off" ,则将仪表条值减少 power 值,如果 "On" ,则增加 power 值。

我将创建两个类 - ToggleClickButton ,将有一个由每次点击更新的状态属性 - CustomEvent ,如上所述

当然,您必须添加缺少的元素(meterLevel、meterBar 等...)

如果 CustomEvent 都发生在同一个类中,则可以避免发生这种情况,在这种情况下,您只需要知道单击的按钮状态并将其传递给具有 powerData 值的函数即可。

功能切换点击(事件:鼠标事件):无效
{
   var button:ToggleClickButton = event.currentTarget as ToggleClickButton;
   dispatchEvent(new CustomEvent(powerData, button.status));
}

函数customEventListener(事件:CustomEvent):无效
{
   如果(事件.状态 == 0)
  {
      米级-= event.powerData;
  }别的 {

     MeterLevel += event.powerData;
   }

   更新仪表显示();
}

函数更新仪表显示()
{
   //例如,如果你有一个 maxPower 和一个meterBar maxHeight
   MeterBar.height = MeterLevel * (maxHeight/maxPower);
}

于 2010-08-22T04:19:21.090 回答