这可能是一个非常复杂的问题,但是我正在制作一个游戏,我曾经多次入侵并且我有过请求,但我不知道如何解决它。 我在AS3上不是那么先进,所以如果我失败了,请保持友善。
请求是为游戏制作聊天捕手,保存所有聊天。我被告知我可以使用EventListener来执行此操作。我也发现了
Game.chatM
是否可以找到所有聊天的链接(我认为这是正确的词)。 我知道这是一个非常紧张的问题,但是有一个功能可以做这样的事情吗?喜欢从这个变量中收集信息吗?
非常感谢任何建议!
我之前尝试过的事情:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.EventDispatcher;
public Class ChatCatcher extends Sprite
{
private var Game.chatM:Model;
public function ChatCatcher():void
{
Game.chatM = new Model();
Game.chatM.addEventListener(Model.VALUE_CHANGED, onModelChanged);
}
private function onModelChanged(e:Event):void
{
trace('New Chat Message');
//This is where hopefully chat will be saved
}
}
}
答案 0 :(得分:0)
您的代码看起来有点可疑。
您错误地在此行上声明了一个变量:
private var Game.chatM:Model;
您不应该声明名称中带有点的变量。当您尝试编译代码时,这应该会生成错误。
我认为Game
是一个类,并且在该类中定义了一个名为chatM
的静态属性(类型为Model
)。如果是这种情况,那么你应该做这样的事情来在你的类中声明聊天模型的本地实例:
private var chatModel:Model = Game.chatM;
接下来,为事件“onModelChanged”添加事件侦听器。 如果,聊天模型类在添加新聊天消息时调度此类事件,则您的事件侦听器将被执行。
但我在这里的猜测似乎让我得出的结论是,这一切都是不必要的。我确定我误解了一些东西......但你的意图是得到所有聊天消息的列表。似乎你已经有了这个列表(聊天模型本身)。
如果这没有帮助,您还应该为Model
课程添加相关代码,如果它存在,则Game
课程...当然,请告诉我我的猜测在哪里错了!