public class Greeter extends MovieClip
{
public function Greeter()
{
addEventListener(Event.ADDED_TO_STAGE, go);
}
private function go(evt:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, go);
var _root:MovieClip = parent.parent as MovieClip;
var sp:Sprite = new Sprite();
// Desenhando com um objeto graphics
var g:Graphics = sp.graphics;
g.beginFill(0xFF0000, 1);
g.drawRect(10, 10, 300, 200);
g.endFill();
_root.addChild(sp);
}
}
MXML文件:爲什麼這個矩形沒有繪製?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="1024" minHeight="768"
creationComplete="initApp()">
<fx:Script>
<![CDATA[
public function initApp():void
{
var greeter:Greeter = new Greeter();
}
]]>
</fx:Script>
</s:Application>
--answer:
添加到舞臺的addElement使用並擴展spark.core.SpriteVisualElement。
謝謝!但現在我得到了:「錯誤:addChild()在這個類中不可用,而是使用addElement()或修改皮膚(如果有的話)。使用addElement會導致編譯器錯誤:「將類型爲Greeter的值隱式強制爲不相關的類型mx.core:IVisualElement。」 – 2010-08-13 18:25:10
當添加「implements IVisualElement」時,Greeter類需要實現IVisualElement – dotminic 2010-08-13 18:42:00
,需要實現的方法列表中存在大量錯誤。是不是我可以擴展的東西? – 2010-08-13 19:09:01