Actionscript 3 在as3中循环函数名
如何创建一个简单的循环来创建这些函数:Actionscript 3 在as3中循环函数名,actionscript-3,Actionscript 3,如何创建一个简单的循环来创建这些函数: function hello1(e:Event):void { trace("hi"); } function hello2(e:Event):void { trace("hi"); } 函数名按顺序排列,直到在 function hello10(e:Event):void { trace("hi"); } 我知道我只能使用一个函数,但我正在将此作为一个更大项目的示例。有很多方法可以实现这一点 您可以将所有函数存储在一个数组中,然后调用函数指针 或者
function hello1(e:Event):void
{
trace("hi");
}
function hello2(e:Event):void
{
trace("hi");
}
函数名按顺序排列,直到在
function hello10(e:Event):void
{
trace("hi");
}
我知道我只能使用一个函数,但我正在将此作为一个更大项目的示例。有很多方法可以实现这一点 您可以将所有函数存储在一个数组中,然后调用函数指针 或者,可能类似于:
package
{
import flash.display.Sprite;
import flash.events.Event;
public class HelloLoop extends Sprite
{
public function hello1(event:Event):void
{
trace("hi - 1");
}
public function hello2(event:Event):void
{
trace("hi - 2");
}
public function hello3(event:Event):void
{
trace("hi - 3");
}
public function HelloLoop()
{
// not sure what event you are passing
var event:Event = new Event("unknown");
for (var i:uint = 1; i <= 3; i++)
{
this["hello" + i](event);
}
}
}
}
包
{
导入flash.display.Sprite;
导入flash.events.Event;
公共类Helloop扩展了Sprite
{
公共函数hello1(事件:事件):无效
{
痕量(“hi-1”);
}
公共功能hello2(事件:事件):无效
{
微量元素(“hi-2”);
}
公共功能hello3(事件:事件):无效
{
微量元素(“hi-3”);
}
公共函数HelloLoop()
{
//不确定你通过了什么项目
风险值事件:事件=新事件(“未知”);
for(var i:uint=1;i函数与ActionScript 3中的任何其他对象一样,因此可以通过引用传递它们
试试这样的
var functionList:Array = [];
var func:Function;
var numFunctions:int = 10;
for (var i:int = 0; i < numFunctions; i++)
{
func = function(num:Number):void
{
trace(num);
};
functionList.push(func);
}
for (var j:int = 0; j < functionList.length; j++)
{
func = functionList[j] as Function;
func(Math.random()* 100);
}
var函数列表:数组=[];
var-func:函数;
var numFunctions:int=10;
for(var i:int=0;i
但问题的关键是我不想扩展它!我不想编写10个函数。我想要一个循环我的示例显示了1-3-我不想将示例膨胀到10。你可以使用循环的3行代码来访问(n)函数。也许我不明白你的问题-你似乎有一组预定义的函数,正如你所说:“我知道我只能使用一个函数”.这个例子的重点是动态调用函数。我认为问题中给出的例子是blake305不想做的事情。重点是动态创建和调用函数。