我一直收到这个错误:
TypeError: Error #1006: setSize is not a function.
at circles::SpiroUI/doSliders()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:74]
at circles::SpiroUI()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:42]
at circles::Spirograph()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/Spirograph.as:115]
at circles_fla::MainTimeline/frame1()[circles_fla.MainTimeline::frame1:2]
我已经包含了导入fl.controls.*
和fl.events.*
,并且我还确保了Slider UI组件包含在文档库中。
用户界面以奇怪的方式保持闪烁,似乎是在每一帧或其他东西中重新绘制组件。我之前确实已经完成了这一切,但是自从引入了一些新的类之后,它就停止了工作。应用程序中的其余部分工作正常,只是UI组件闪烁且无法工作。
帮助赞赏:)
答案 0 :(得分:1)
您的SpiroUI
类似乎试图调用类中未显示的setSize
方法。
罗布
答案 1 :(得分:1)
某处未定义某些内容,因为编译器未找到该函数所在的对象。
你的筹码有了 at circles :: SpiroUI / doSliders()... / circles/SpiroUI.as:74
因此,如果可能,您可能希望至少使用该行更新问题,以了解如何调用setSize。
尝试的另一个选择是在第74行设置断点并检查对象在到达该错误之前可用的内容。
我按照您对UI组件所做的操作来确保错误不是来自之前的。
我有一个小型文档类slider
import flash.display.Sprite;
public class slider extends Sprite
{
var sp:SpiroUI;
public function slider()
{
sp = new SpiroUI();
sp.doSliders();
sp.x = 100;
sp.y = 100;
addChild(sp);
}
}
然后我猜测你是如何拥有SpiroUI的,
import fl.controls.Slider;
public class SpiroUI extends Slider
{
public function SpiroUI()
{
super();
}
public function doSliders():void
{
setSize(10,10);
}
}
虽然无法确定,但尝试了各种方法来重现错误,但通常情况下,如果有人在swf中调用一个不在根目录的函数,我会期待这个。