从 Action Script 3.0 上的 TXT 文件加载代码
Loading code from a TXT file on Action Script 3.0
有没有办法从动作脚本 3 的 .txt 文件加载外部代码?我想将一些 addChild() 代码放入 .txt 文件中,然后在 Flash 上执行,例如:
file.txt内容
addChild(mc1);
addChild(mc2);
我的应用程序执行如下操作:
fileContents = URLRequest(file.txt);
现在,fileContents 有 2 行代码我想 运行 在 Flash 上,如何 运行 这些?
谢谢
您需要一个在 AS3 中动态重新创建 txt 文件代码的函数。
(1) 将代码行提取到一些字符串数组中。
(2) 制作一个函数将每一行提取成部分。
(例如:提取命令addChild
和参数mc1
)。
(3) 在使用命令和参数的地方创建一个function run_Code
。
没有数组的示例代码,只是一个字符串值,为简单起见...
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 ] ); }
}
有没有办法从动作脚本 3 的 .txt 文件加载外部代码?我想将一些 addChild() 代码放入 .txt 文件中,然后在 Flash 上执行,例如:
file.txt内容
addChild(mc1);
addChild(mc2);
我的应用程序执行如下操作:
fileContents = URLRequest(file.txt);
现在,fileContents 有 2 行代码我想 运行 在 Flash 上,如何 运行 这些?
谢谢
您需要一个在 AS3 中动态重新创建 txt 文件代码的函数。
(1) 将代码行提取到一些字符串数组中。
(2) 制作一个函数将每一行提取成部分。
(例如:提取命令addChild
和参数mc1
)。
(3) 在使用命令和参数的地方创建一个function run_Code
。
没有数组的示例代码,只是一个字符串值,为简单起见...
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 ] ); }
}