0
按照要求,我給這個問題的更詳細的說明...Flex中添加精靈到畫布
首先,我有這樣的MXML:
<mx:Panel x="270" y="10" width="690" height="680" id="mainContainerPanel">
<mx:Canvas x="270" y="10" width="670" height="640" id="canvas" initialize="onInit()">
<mx:Script>
protected function onInit():void
{
spiro = new Spirograph(canvas);
}
</mx:Script>
</mx:Canvas>
</mx:Panel>
這通過標記對象我的主要AS3類文件的構造函數。這工作得很好,其中在構造函數中我有:
function Spirograph(canvas:Canvas):void
{
mainContainer = canvas;
mainContainer.graphics.beginFill(0xFFFFFF);
mainContainer.graphics.drawRect(0, 0, 670, 640);
mainContainer.graphics.endFill();
}
目前,我正在使用被稱爲SpriteUIContainer一個包裝類將所有Sprite對象的mainContainer上:
package includes
{
import flash.display.Sprite;
import mx.core.UIComponent;
public class SpriteUIContainer extends UIComponent
{
public function SpriteUIContainer(sprite:Sprite)
{
super();
this.explicitWidth = sprite.width;
this.explicitHeight = sprite.height;
this.x = sprite.x;
this.y = sprite.y;
addChild(sprite);
}
}
}
這是在使用採用以下方式:
private var circCentre:Sprite = new Sprite();
circCentre.x = mainContainer.width/2;
circCentre.y = mainContainer.height/2;
circCentre.graphics.lineStyle(3, 0xD0B917);
circCentre.graphics.beginFill(0xF2DF56, 0.2);
circCentre.graphics.drawCircle(20, 20, 50);
circCentre.graphics.endFill();
mainContainer.addChildAt(new SpriteUIContainer(circCentre), 1);
circCentre Sprite從不出現在屏幕上,我不明白我如何才能讓它出現。
任何幫助非常感謝!
嘿,我現在已經重寫了這個問題,我希望它有幫助,因爲我現在對Flex感到困惑。真的很欣賞一些指針。 – Alex 2011-05-01 00:10:44
我已經放棄了Flex,回到我所瞭解和喜歡的狀態:Flash – Alex 2011-05-01 20:22:20
@AlexW我很抱歉聽到這個消息。我不知道你的技能/知識在哪裏;但是,Flex絕對是針對與Flash Pro不同的市場。 Flex有很多移動部件;所以如果你不熟悉Java,.NET或者其他一些編程語言(以及相關的概念),那麼學習曲線就會變得很難。 – JeffryHouser 2011-05-02 02:30:37