Actionscript 3 TypeError: Error #1006: value is not a function. Unable to find issue
Actionscript 3 TypeError: Error #1006: value is not a function. Unable to find issue
我一直在使用 AS3 时遇到问题,尤其是 "TypeError: Error #1006: value is not a function" 错误消息。我是一个绝对的初学者,但我已经检查了与错误 #1006 相关的其他 Whosebug 问题,以及其他网站上的问题,但一直无法找到问题的根源。
当我尝试调用 newQueen 函数时出现错误。
function newQueen(queenType):void
{
switch (queenType)
{
case 1 :
guardianLoyalty = 0;
break;
case 2 :
gathererLoyalty = 0;
break;
case 3 :
acolyteLoyalty = 0;
break;
case 4 :
vesselLoyalty = 0;
break;
default :
break;
}
queenRndTrait1 = randRange(1,queenTraitArray.length);
queenRndTrait2 = randRange(1,queenTraitArray.length);
queenTraitArray[queenRndTrait1](queenType,1);
queenTraitArray[queenRndTrait2](queenType,2);
queenRndDescription = randRange(1,queenDescriptionArray.length);
queenDescriptionArray[queenRndDescription](queenType);
queenRndName = randRange(1,queenNameArray.length);
queenNameArray[queenRndName](queenType);
}
请告诉我是否还有其他内容可以让我更轻松地回答这个问题:)
编辑:
var queenDescriptionArray:Array = new Array(queenDescription1);
function queenDescription1(queenType):void
{
switch (queenType)
{
case 1 :
guardianQueenDescription = "Dummy Description One";
break;
case 2 :
gathererQueenDescription = "Dummy Description One";
break;
case 3 :
acolyteQueenDescription = "Dummy Description One";
break;
case 4 :
vesselQueenDescription = "Dummy Description One";
break;
default :
break;
}
}
我调用的函数类似于 newQueen(1);
编辑 2,已解决:
谢谢,null!
在我程序的其他部分出现这个问题之前,我已经解决了这个问题,我无法弄清楚这个函数有什么不同!(因为我是新手,所以我尽量不复制和粘贴,即使是我的自己的代码)
解决方案是在随机化行的末尾添加一个“-1”,如下所示:
queenRndTrait1 = randRange(1,queenTraitArray.length)-1;
更新:
您将 1 作为第一个参数传递给创建随机索引的函数。
数组索引从 0 开始。
这些行可能导致错误:
queenTraitArray[queenRndTrait1](queenType,1);
queenTraitArray[queenRndTrait2](queenType,2);
queenDescriptionArray[queenRndDescription](queenType);
queenNameArray[queenRndName](queenType);
他们有一个共同的模式。
你在这里访问数组,没有错:
array[index];
这将检索索引处的元素。
现在可能的问题来了:你在后面加上括号:
array[index](someStuff);
括号用于调用函数,只要该索引处的数组元素是函数,就可以正常工作。
但显然 数组元素不是函数,正如错误告诉您的那样。
不清楚您要完成什么,但问题很可能是由于某些运算符(如括号)的误用引起的
我一直在使用 AS3 时遇到问题,尤其是 "TypeError: Error #1006: value is not a function" 错误消息。我是一个绝对的初学者,但我已经检查了与错误 #1006 相关的其他 Whosebug 问题,以及其他网站上的问题,但一直无法找到问题的根源。
当我尝试调用 newQueen 函数时出现错误。
function newQueen(queenType):void
{
switch (queenType)
{
case 1 :
guardianLoyalty = 0;
break;
case 2 :
gathererLoyalty = 0;
break;
case 3 :
acolyteLoyalty = 0;
break;
case 4 :
vesselLoyalty = 0;
break;
default :
break;
}
queenRndTrait1 = randRange(1,queenTraitArray.length);
queenRndTrait2 = randRange(1,queenTraitArray.length);
queenTraitArray[queenRndTrait1](queenType,1);
queenTraitArray[queenRndTrait2](queenType,2);
queenRndDescription = randRange(1,queenDescriptionArray.length);
queenDescriptionArray[queenRndDescription](queenType);
queenRndName = randRange(1,queenNameArray.length);
queenNameArray[queenRndName](queenType);
}
请告诉我是否还有其他内容可以让我更轻松地回答这个问题:)
编辑:
var queenDescriptionArray:Array = new Array(queenDescription1);
function queenDescription1(queenType):void
{
switch (queenType)
{
case 1 :
guardianQueenDescription = "Dummy Description One";
break;
case 2 :
gathererQueenDescription = "Dummy Description One";
break;
case 3 :
acolyteQueenDescription = "Dummy Description One";
break;
case 4 :
vesselQueenDescription = "Dummy Description One";
break;
default :
break;
}
}
我调用的函数类似于 newQueen(1);
编辑 2,已解决:
谢谢,null!
在我程序的其他部分出现这个问题之前,我已经解决了这个问题,我无法弄清楚这个函数有什么不同!(因为我是新手,所以我尽量不复制和粘贴,即使是我的自己的代码)
解决方案是在随机化行的末尾添加一个“-1”,如下所示:
queenRndTrait1 = randRange(1,queenTraitArray.length)-1;
更新:
您将 1 作为第一个参数传递给创建随机索引的函数。 数组索引从 0 开始。
这些行可能导致错误:
queenTraitArray[queenRndTrait1](queenType,1);
queenTraitArray[queenRndTrait2](queenType,2);
queenDescriptionArray[queenRndDescription](queenType);
queenNameArray[queenRndName](queenType);
他们有一个共同的模式。 你在这里访问数组,没有错:
array[index];
这将检索索引处的元素。
现在可能的问题来了:你在后面加上括号:
array[index](someStuff);
括号用于调用函数,只要该索引处的数组元素是函数,就可以正常工作。
但显然 数组元素不是函数,正如错误告诉您的那样。
不清楚您要完成什么,但问题很可能是由于某些运算符(如括号)的误用引起的