首先我不熟悉Flex,因此以下可能是101陷阱。Flex,creationComplete和Rotation
我的第一個問題是我試圖旋轉包含在一個畫布內的一組90度的對象,每個對象的大小均勻,包含文本和圖像。我的第一個問題是旋轉對象會導致它們重新調整到其自身的邊界。例如,如果對象的圖像尺寸爲200 x 250,並且圖像的延伸範圍爲0到250像素,則旋轉後的內容將被重新設置爲200像素,這意味着圖像現在爲200像素。隨後我可以將對象重新調整到合適的尺寸,但感覺笨拙。有沒有更好的方法來執行這個旋轉的地方,它旋轉的對象沒有被限制在對象的邊界?其次,我理想的是需要這個代碼在creationComplete事件中運行。當它發生時,對象的定位/居中會被忽略,並且在屏幕上呈現時會有所不同(例如,如果我在我的點擊事件中運行以下代碼,它會在其中心點完美旋轉;通過creationComplete,它會偏移對象像中心點不存在)?
任何指針?
我的輪換代碼...
<mx:Script>
<![CDATA[
// Capture the init for the application
private function InitialRotate(e:Event):void{
var offsetWidth:Number = (this.width/2);
var offsetHeight:Number = this.y + (this.height/2);
// Rotates on the center (but resizes)
var tempMatrix:Matrix = this.transform.matrix;
tempMatrix.translate(-offsetWidth,-offsetHeight);
tempMatrix.rotate(90 * (Math.PI/180));
tempMatrix.translate(+offsetWidth,+offsetHeight);
this.transform.matrix = tempMatrix;
// Adjusts the objects position and width to size appropriately
this.y -= 5.5;
this.width = 256;
}
]]>
</mx:Script>
「我最好需要此代碼在creationComplete事件內運行?」我可以問爲什麼? creationComplete事件是什麼?畫布?你想旋轉的內部對象之一?或者是其他東西? – JeffryHouser 2012-04-17 13:15:12
正在旋轉的對象稱爲'ObjectX'。結構表示是一個包含多個ObjectX實例的單個畫布,在每個ObjectX實例中都將包含文本和圖像。爲了保持整潔/封裝,我期待在它自己的CreationComplete事件中執行ObjectX的旋轉。 – SeanCocteau 2012-04-17 13:56:14