使用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,所以如果你在发布时也可以解释你的代码 - 虽然大多数人通常也会这么做 - 我会非常感激。提前谢谢!
答案 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"));