2011-06-21 1 views
0

私の質問に対する答えは簡単ですが、Webで解決する例は見つかっておらず、ActionScriptリファレンスを解説した解決策も見つかりませんでした。ActionScript:Scrollerウィンドウ内にラップされた要素を手動でスクロールする

私の問題は次のとおりです。Scroller(spark.components.Scroller)ウィンドウ内に大きなUIComponent派生要素があります。サイズを動的に変更するキャンバス要素が境界を超えると、スクロールバーが自動的に表示され、その内部のUIComponentのスクロールが処理されるため、Scrollerクラスは優れています。

しかし、これらの自動的に表示されたスクロールバーを使用してスクロールできるだけでなく、私が自分で実装するパンツールを使用してスクロールすることもできます(たとえば、Adobeソフトウェアのツールと同様)。スクロールウィンドウ内の要素の位置を正しく変更できないということがあります。

最初のアプローチとして、私の要素の「x」と「y」プロパティにアクセスしようとしましたが、それらを変更するときには、私は望んでいません。そのためのコードは

Tests.mxml (ここで、理由をsymplifyingため、私はテキスト私の「内側」要素としてラベル、及び外部スクロールコントローラのような2つのボタンの代わりに、ハンドツールを使用)以下のものです

<fx:Script> 
     <![CDATA[ 

      protected function der_clickHandler(event:MouseEvent):void 
      { 
       text.x += 5; 

      } 

      protected function izq_clickHandler(event:MouseEvent):void 
      { 
       text.x -= 5; 

      } 

     ]]> 
    </fx:Script> 

    <fx:Declarations> 
    </fx:Declarations> 
    <s:Scroller id="sc" x="50" y="50" width="200" height="100"> 
     <s:Group width="100%" height="100%"> 
      <s:Label id="text" width="400" height="10" x="50" y="50" text="blebleblebleblebleblebleblebleblebleblebleble"/> 
     </s:Group> 
    </s:Scroller> 
    <s:Button id="der" x="154" y="182" label="-&gt;" click="der_clickHandler(event)"/> 
    <s:Button id="izq" x="76" y="182" label="&lt;-" click="izq_clickHandler(event)"/> 

</s:Application> 

そしてコンパイルされたバージョンへのリンク、私が話して何を参照するには: http://megaswf.com/file/1135821 (プレス「ビューフルスクリーン」あなたがそれを見ることができない場合)

私はこれですべての午後に立ち往生していたので、本当に感謝して、私のプロジェクトのために本当にそれが必要です:S

とにかく、前もって感謝しています。

+1

問題が解決した場合は、自分の質問に答えて回答を受け入れることをおすすめします。 – Veehmot

答えて

1

私はそれを解決することができました! (今週は2回目ですが、ここに投稿した直後に何かを解決します:D)。

私が変更しなければならないプロパティは、sc.viewport.horizo​​ntalScrollPosition + = 5です。内部要素「x」の代わりに使用します。また、垂直位置についても同様です。

関連する問題