Actionscript 3 我可以在画布上画一个图像吗?
我有一个函数可以把一个形状画成精灵。我想将函数更改为使用图像而不是形状,但图像不会显示。我能做些什么来展示图像?lineChartContainer是精灵Actionscript 3 我可以在画布上画一个图像吗?,actionscript-3,apache-flex,Actionscript 3,Apache Flex,我有一个函数可以把一个形状画成精灵。我想将函数更改为使用图像而不是形状,但图像不会显示。我能做些什么来展示图像?lineChartContainer是精灵 function drawCircle(x:Number,y:Number):void{ //var circle:Shape = new Shape(); circle.graphics.beginFill(0xf1e500, 1); var l
function drawCircle(x:Number,y:Number):void{
//var circle:Shape = new Shape();
circle.graphics.beginFill(0xf1e500, 1);
var lineThickness:int = 6;
circle.graphics.drawCircle(x + (0), y - (0), lineThickness);
circle.graphics.endFill();
lineChartContainer.addChild(circle);
var graphic:Image = new Image();
graphic.source="images/grade.png";
lineChartContainer.addChild(graphic);
}
看起来你所做的事情永远不会成功 变量
lineChartContainer
是精灵
Flex组件(如图像
控件)不能由非Flex组件作为父级。因此,虽然AS3代码完全合法:
lineChartContainer.addChild(graphic)
Flex组件不会渲染任何内容。Flex组件有一个“生命周期”,组件需要经历一个生命周期的迭代,然后才能真正呈现某些东西。但是由于将图像
控件添加到精灵
中,因此图像
组件的生命周期从未开始
您在问题的标题中提到了
画布
。尝试将Image
组件添加到Canvas
,VBox
,HBox
,Group
,VGroup
,HGroup
,或其他一些Flex容器类中。您尚未显示将调整[或放置]图像组件大小的代码。您可能会从查看Flex组件生命周期中获益。我不认为你的代码一定有什么问题,当源代码完成加载(异步)时,图像本身应该计算它的大小,默认情况下,位置仅为0,0,这可能会使其脱离屏幕,具体取决于父对象在全局坐标空间中的位置。否则,只需验证源路径是否包含包含“images/grade.png”的目录,或者尝试使用绝对URL,以确保这不是路径问题。谢谢您的回复。我尝试了绝对url,但没有显示任何内容!