AS3如何从动画片段中访问主时间轴上的动画片段?

时间:2012-03-06 15:22:17

标签: actionscript-3 flash

使用RPG类型的闪光灯,我必须能够控制来自不同位置的文本框。导致我麻烦的是库存。我需要能够从库存剪辑(实例名称“库存”)中使用“statusWindow”实例访问文本框,因此当我将鼠标悬停在动画片段中的某个项目上时,它将更改舞台上的状态窗口。 / p>

在这种情况下,我想将鼠标悬停在主时间轴上的inventory.invHealth上以获得显示。 itemName和itemProps是包含有关该项目的信息的字符串。

我尝试了以下但是它给了我一个“可能未定义”的错误。

    invHealth.addEventListener(MouseEvent.MOUSE_OVER, itemStats);

    function itemStats(e:Event):void
    {
        root.statusWindow.text = itemName+"\n"+itemProps;
    }

我还不是很擅长AS3,所以如果你在发布时也可以解释你的代码 - 虽然大多数人通常也会这么做 - 我会非常感激。提前谢谢!

1 个答案:

答案 0 :(得分:0)

我建议你将信息数据存储在一个类对象中; statusWindow和库存剪辑都应该可以访问该对象。这样就不需要“读取”文本框,您将对相同的数据有不同的看法。例如:

public class GlobalVars
{
    public static var health:Number;
} 

您当然可以创建更有条理的信息数据,例如:

 public class Item
 {
      public function Item(setname:String)
      {
         name=setname;
         health = 100;
         quantity = 0;
      }

      private var name:String;
      private var health:Number;
      private var quantity:Number;
 } 

 var inventory:Array = new Array();
 inventory.push(new Item("hammer"));
 inventory.push(new Item("gun"));
 inventory.push(new Item("sponge"));