Actionscript 3 AS3连接引用不工作
我正在努力从XML文档中连接对变量的引用。我试图得到:Actionscript 3 AS3连接引用不工作,actionscript-3,concatenation,Actionscript 3,Concatenation,我正在努力从XML文档中连接对变量的引用。我试图得到: chat_History.Msg.chatMessage1, chat_History.Msg.chatMessage2, chat_History.Msg.chatMessage3 相反,它超越了引用,变成了值“0”、“1”、“2”。我的代码: public function onReceivedChatData(Event:LoaderEvent) { var raw_user_info = LoaderMax.get
chat_History.Msg.chatMessage1, chat_History.Msg.chatMessage2, chat_History.Msg.chatMessage3
相反,它超越了引用,变成了值“0”、“1”、“2”。我的代码:
public function onReceivedChatData(Event:LoaderEvent)
{
var raw_user_info = LoaderMax.getContent("chatHistory");
var chat_History:XML = XML(raw_user_info);
if (chat_History.Msg)
{
trace("ReceivedChatData");
trace(chat_History);
for (var i:int = 0; i < int(chat_History.chatLength); i++)
{
var chatString:String = chat_History.Msg.chatMessage;
chatString += i.toString();
shopchatbox.shop_chat_window.text = shopchatbox.shop_chat_window.text + "\n" + chatString;
shopchatwidebox.shop_chat_window.text = shopchatwidebox.shop_chat_window.text + "\n" + chatString;
}
}
else
{
trace("chat_History XML Does Not Exist!!! Noooo :( ");
trace(chat_History);
}
}
ReceivedChatData上的公共函数(事件:LoaderEvent)
{
var raw_user_info=LoaderMax.getContent(“聊天历史”);
var chat_History:XML=XML(原始用户信息);
if(chat_History.Msg)
{
跟踪(“接收到的数据”);
跟踪(聊天记录);
for(变量i:int=0;i谢谢!
chatString+=i.toString();
这将为您提供索引0、1、2。i
只存储迭代的增量。而不是chat\u History.Msg.chatMessage
中的值,因此您将i
添加到chatString
的内容中,而不是设置变量名
var chatString:String = chat_History.Msg.chatMessage;
chatString += i.toString();
您的代码在这里说,取chatString
,并将其设置为值chat\u History.Msg.chatMessage
,然后将i
作为String
连接到chatString
的内容上
如果您想通过变量名访问变量,我相信您会这样做
var chatString:String = chat_History.Msg["chatMessage"+ String(i+1)];
所以i+1
=1,2,3。这意味着您正在访问chat\u History.Msg.chatMessage1
,chat\u History.Msg.chatMessage2
和chat\u History.Msg.chatMessage3
拆除管线
chatString += i.toString();
恐怕我无法测试这一点,因为我没有XML代码,但希望这能为您提供一个总体思路。我不能100%确定我是否正确地使用变量名调用变量,但可以使用字符串名调用变量
编辑:
在做了一些测试之后,语法似乎是正确的,因此应该可以从
chat\u History.Msg
中获取值。您可以发布相关XML的片段吗?