Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我可以在画布上画一个图像吗?_Actionscript 3_Apache Flex - Fatal编程技术网

Actionscript 3 我可以在画布上画一个图像吗?

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

我有一个函数可以把一个形状画成精灵。我想将函数更改为使用图像而不是形状,但图像不会显示。我能做些什么来展示图像?lineChartContainer是精灵

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,但没有显示任何内容!