1
스테이지 나 스파크 애플리케이션과 같이 중첩 된 컨테이너와 루트 컨테이너에있는 표시 객체와의 거리를 어떻게 얻을 수 있습니까? 예를 들어조상 표시 객체간에 한 표시 객체의 총 오프셋을 얻으려면 어떻게해야합니까?
:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="applicationCompleteHandler(event)"
>
<fx:Script>
<![CDATA[
protected function applicationCompleteHandler(event:FlexEvent):void {
var point:Point = new Point(nestedButton.x, nestedButton.y);
var localToGlobalPoint:Point = this.localToGlobal(point);
var globalToLocalPoint:Point = this.globalToLocal(point);
var localToContentPoint:Point = this.localToContent(point);
trace("Button x: " + nestedButton.x);
trace("Button layout bounds x: " + nestedButton.getLayoutBoundsX());
trace("Button to main container localToGlobal x: " + localToGlobalPoint.x);
trace("Button to main container globalToLocal x: " + globalToLocalPoint.x);
trace("Button to main container localToContent x: " + localToContentPoint.x);
}
]]>
</fx:Script>
<mx:Canvas id="mainCanvas" top="10" left="10">
<mx:Canvas top="10" left="10">
<s:Group x="10" y="10">
<s:Button id="sparkButton2" label="spark button" x=10 y="10"/>
</s:Group>
</mx:Canvas>
</mx:Canvas>
</s:WindowedApplication>
버튼 3 개 용기에 내포 된 각 컨테이너 이전 모서리 10
픽셀하고 40
이어야 총 x
값 에지 년대 버튼 10
픽셀되면 . 그건 제가 얻고있는 가치가 아닙니다. 각 통화의 x
값은 0
으로 추적됩니다.
당신은 가능성이'nestedButton.localToGlobal을 수행 할 (새 포인트()) :
여기 함수 그리고 그것은 작동 것처럼 보인다 :
사용법 0,0을 스테이지 위치로 이동), 'this'가'nestedButton '의 직접적인 부모가 아니라면 동일 할 것입니다 – BadFeelingAboutThis