Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 从操作脚本3.0上的TXT文件加载代码_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Actionscript 3 从操作脚本3.0上的TXT文件加载代码

Actionscript 3 从操作脚本3.0上的TXT文件加载代码,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,有没有办法从动作脚本3上的.txt文件加载外部代码?我想在.txt文件中放入一些addChild()代码,然后在Flash上执行,例如: file.txt内容 addChild(mc1); addChild(mc2); 我的应用程序执行以下操作: fileContents = URLRequest(file.txt); 现在,fileContents有两行代码我想在Flash上运行,如何运行这些代码 谢谢您需要一个在AS3中动态重新创建txt文件代码的函数 (1)将代码行提取到字符串数组中

有没有办法从动作脚本3上的.txt文件加载外部代码?我想在.txt文件中放入一些addChild()代码,然后在Flash上执行,例如:

file.txt内容

addChild(mc1);
addChild(mc2);
我的应用程序执行以下操作:

fileContents = URLRequest(file.txt);
现在,fileContents有两行代码我想在Flash上运行,如何运行这些代码


谢谢

您需要一个在AS3中动态重新创建txt文件代码的函数

(1)将代码行提取到字符串数组中

(2)制作一个函数,将每一行提取为多个部分
(例如:提取命令
addChild
和参数
mc1

(3)在使用命令和参数的位置运行
函数

示例代码没有数组,只是一个字符串值,为简单起见

var myStr = "addChild(mc1);"; //# you read this value from txt file

//# extract using length ( substr )
var myCmd = myStr.substr( 0, myStr.indexOf( "(" ) ); //extract "addChild" (eg: from start until first bracket)

//# extract using positions ( substring ) 
var myParam = myStr.substring( myStr.indexOf("(") +1 ,  myStr.indexOf(")")  ); 

trace( "Command is: " + myCmd + " ... Param is: " + myParam );

run_Code( myCmd, myParam );

function run_Code ( in_command:String , in_param:String  ) :void
{
    //# handle possible commands
    if ( in_command == "addChild" ) { stage.addChild( this[ in_param ] ); }
    
}

根据,您不能将字符串计算为可运行代码。您必须创建自己的解释器。WF应用程序包含源ActionScript3的编译版本(即所谓的ABC代码),因此,不可能在应用程序中运行其他未编译的ActionScript3指令。如果您认为这正是您想要的,那么(我认为)您在这里的最佳选择是使用某种(基于XML或JSON的)模拟语言和一个简单的解释器来执行其指令。谢谢您的回答。是否有机会至少让addChild代码识别.txt文件中的内容?示例:addChild(fileContents)?
addChild
仅指
DisplayObject
实例和子实例,而不是
fileContents
中的原始字符串。如果你想在屏幕上显示文本,你首先需要创建一个
TextField
(比方说它的名字叫
contentTextField
),然后使用
addChild(contentTextField)
不,我说的是带有我想添加的电影剪辑名称的.txt文件,所以,addChild(fileContents),如果我将mc1放在.txt文件中,我的Flash将在我的库中添加电影剪辑mc1。我记得在AS 2中,类似这样的MovieClip[“customName”]是可以做到的。谢谢你,伙计,这无疑会帮我很大的忙!