计数器显示精灵代替数字值。更有经验的程序员给了我一些线索。为什么我收到错误#1010。
其次,我没有看到那么明显的是什么?我希望我在动作3中有更好的基础,但我正在阅读并尽力而为。
我看到了什么
-dollar符号表示变量或数组“$ numbers”
-import flash.utils.Dictionary; “表示关联字符串”
-Error#1010:术语未定义且没有属性
- 关联字符串是在愚弄我吗? “也许我没有设定价值,呃”
- 我的符号的属性设置错了?
numbers.fla
-MovieClip命名为“mc-NumberImage”类“NumberImage”
-Bitmaps“number_0.jpg to number_9.jpg”
NumberDocumentClass.as “NumberDocumentClass”
package {
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class NumberDocumentClass extends Sprite {
private var timer:Timer = new Timer(10);
private var count:int = 0;
private var fcount:int = 0;
private var numbers:NumbersView;
public function NumberDocumentClass() {
timer.addEventListener(TimerEvent.TIMER, incrementCounter);
timer.start();
numbers = new NumbersView();
addChild(numbers);
}
function incrementCounter(event:TimerEvent) {
count++;
fcount=int(count*count/1000);//starts out slow... then speeds up
numbers.setTime(formatCount(fcount));
}
function formatCount(i:int):String {
return ("000000000" + i).substr(-9, 9);
}
}
}
NumbersView.as
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.utils.Dictionary;
import flash.events.Event;
import caurina.transitions.Tweener;
public class NumbersView extends MovieClip
{
private var _listItems:Array = new Array();
public function NumbersView()
{
var item:NumberImage;
for (var i:Number = 0; i < 9; i++) {
item = new NumberImage();
addChild(item);
item.x = i * item.width;
_listItems.push(item);
}
}
public function setTime($number:String):void {
var nums:Array = $number.split("");
for (var i:Number = 0; i < nums.length; i++) {
if (int(nums[i]) == 0) {
Tweener.removeTweens(_listItems[i].moveableNumber_mc);
if (_listItems[i].moveableNumber_mc.y < 0) {
_listItems[i].moveableNumber_mc.y = 120;
}
Tweener.addTween(_listItems[i].moveableNumber_mc, { y: 0, time:.3 } );
} else {
Tweener.addTween(_listItems[i].moveableNumber_mc, { y: -120 * int(nums[i]), time:.3} );
}
}
}
}
}
错误消息
TypeError: Error #1010: A term is undefined and has no properties.
at NumbersView/setTime()
at NumberDocumentClass/incrementCounter()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
答案 0 :(得分:1)
听起来您正在 NumbersView.as 文件中访问数组中未定义的索引。
_listItems[i]
在_listItems的for循环中:
for (var i:Number = 0; i < 9; i++) {
将_listItems设置为0到8。
然后在你的setTime for循环中:
for (var i:Number = 0; i < nums.length; i++) {
您转到数组的长度以访问_listItems [i]。
这个数组的长度是否超过8?如果是这样,则可能导致错误。
答案 1 :(得分:0)
“noob hater创造了一个调试谜语,嗯” moveableNumber_mc不存在
36. Tweener.removeTweens(_listItems[i]);
37. if (_listItems[i].y < 0) {
38. _listItems[i].y = 120;
39. }
40. Tweener.addTween(_listItems[i], { y: 0, time:.3 } );
41. } else {
42. Tweener.addTween(_listItems[i], { y: -120 * int(nums[i]), time:.3} );
“感谢badass Ed”