【发布时间】:2015-01-12 01:11:09
【问题描述】:
我有一个游戏,你可以探索房子。有钥匙和上锁的门。每个房间都是不同的班级。假设在一堂课上你在一个房间里,你找到了一把钥匙。我想要一个变量来说明钥匙在库存中。然后在另一个班级有一个房间,我需要使用钥匙打开门。我如何获得表明您拥有打开一扇门的钥匙的变量,该门寻找该特定变量为真并让您通过门。对不起,如果这听起来不连贯。我非常疲倦,在睡觉前写下这篇文章。提前感谢您的回复。我也是 as3 的新手。
【问题讨论】:
我有一个游戏,你可以探索房子。有钥匙和上锁的门。每个房间都是不同的班级。假设在一堂课上你在一个房间里,你找到了一把钥匙。我想要一个变量来说明钥匙在库存中。然后在另一个班级有一个房间,我需要使用钥匙打开门。我如何获得表明您拥有打开一扇门的钥匙的变量,该门寻找该特定变量为真并让您通过门。对不起,如果这听起来不连贯。我非常疲倦,在睡觉前写下这篇文章。提前感谢您的回复。我也是 as3 的新手。
【问题讨论】:
这听起来像是课堂作业,所以我只会提示答案。 :-)
假设您有一个包含房间类的房屋类,并且可能该房屋类可以在房间类之间传递对象。
同样,库存听起来是一个很好的创建类。
希望这能让你走上正轨!
【讨论】:
您可以为您的房间类提供一个获取密钥的方法,该方法返回密钥(文本字符串、密钥对象或任何您想要的)。并从房间中取出钥匙。调用此方法时,会将键添加到 Inventory 中的键列表中(从库存中调用它或为库存提供添加键的方法)。
然后给你的门类一个解锁方法,作为参数获取钥匙圈(库存所有钥匙的列表),如果正确的门在那里设置为解锁。
【讨论】:
在我看来,理想的解决方案是为库存创建一个单例类(因为它只有一个实例,您希望所有类都能够访问该实例)。
所有房间类都可以调用库存 -
_inventory = InventoryClass.getInstance()
您可以在此处查看有关如何创建单例类的更多信息 - http://blog.gskinner.com/archives/2006/07/as3_singletons.html
【讨论】: