播放随机动画片段会出现错误 #1010:术语未定义且没有属性
Playing random movieclips gives Error #1010: A term is undefined and has no properties
我有一张人脸的 AS3 FLA 文件。眼睛通过播放数组中不同的眼球运动电影片段来随机移动。代码在时间线上。我不断收到此错误:
TypeError: Error #1010: A term is undefined and has no properties.
at TVCR_fla::eyes_4/playEyes()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
这个错误并没有阻止代码执行它应该做的事情,但我想知道是什么导致了它。
这是我正在使用的代码。
stop();
var eyeArray:Array = new Array();
eyeArray[0] = eyeBlink1;
eyeArray[1] = eyeBlink2;
eyeArray[2] = eyeBlink3;
eyeArray[3] = eyeLeft;
eyeArray[4] = eyeRight;
eyeArray[5] = eyeWide;
var i:int = 0;
var eyeTimer:Timer = new Timer(100);
eyeTimer.addEventListener(TimerEvent.TIMER, playEyes);
function playEyes(event:TimerEvent):void{
for(i=0; i<eyeArray.length; i++)
{
var randomEye:Number = Math.floor(Math.random()*300);
eyeArray[randomEye].play();
}
}
eyeTimer.start();
您的数组 eyeArray
有 6 个元素。在这一行中,您访问一个元素:
eyeArray[randomEye].play();
确定索引的变量定义在上面的行中:
var randomEye:Number = Math.floor(Math.random()*300);
这个随机变量的值在0到299之间(含)
这比数组的长度大得多。
从你的问题来看,不清楚你的意图是什么,或者项目的结构是什么样的,这使得很难提出修复建议。
我猜测您正在尝试从每个 Movieclip 中随机选择一个帧,它们总共有 300 帧。为此,您应该将随机变量传递给您应该调用的 gotoAndPlay()
而不是 play
。使用 for 循环索引中的变量获取数组元素。
我有一张人脸的 AS3 FLA 文件。眼睛通过播放数组中不同的眼球运动电影片段来随机移动。代码在时间线上。我不断收到此错误:
TypeError: Error #1010: A term is undefined and has no properties.
at TVCR_fla::eyes_4/playEyes()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
这个错误并没有阻止代码执行它应该做的事情,但我想知道是什么导致了它。
这是我正在使用的代码。
stop();
var eyeArray:Array = new Array();
eyeArray[0] = eyeBlink1;
eyeArray[1] = eyeBlink2;
eyeArray[2] = eyeBlink3;
eyeArray[3] = eyeLeft;
eyeArray[4] = eyeRight;
eyeArray[5] = eyeWide;
var i:int = 0;
var eyeTimer:Timer = new Timer(100);
eyeTimer.addEventListener(TimerEvent.TIMER, playEyes);
function playEyes(event:TimerEvent):void{
for(i=0; i<eyeArray.length; i++)
{
var randomEye:Number = Math.floor(Math.random()*300);
eyeArray[randomEye].play();
}
}
eyeTimer.start();
您的数组 eyeArray
有 6 个元素。在这一行中,您访问一个元素:
eyeArray[randomEye].play();
确定索引的变量定义在上面的行中:
var randomEye:Number = Math.floor(Math.random()*300);
这个随机变量的值在0到299之间(含)
这比数组的长度大得多。
从你的问题来看,不清楚你的意图是什么,或者项目的结构是什么样的,这使得很难提出修复建议。
我猜测您正在尝试从每个 Movieclip 中随机选择一个帧,它们总共有 300 帧。为此,您应该将随机变量传递给您应该调用的 gotoAndPlay()
而不是 play
。使用 for 循环索引中的变量获取数组元素。