2

これは、OpenLaszlo (またはむしろ Flex?) の内部に関する質問です。

完全なFlexアプリケーションswfをOpenLaszloにロードできました(トランクリリース、古いリリースは失敗しました)。11 と同様に Flash 10 でも動作します。ただし、OpenLaszlo は特定のマウス イベントをキャプチャまたはブロックするようです。SWFを追加すると

YFilesSWF.content.sprite (YFilesSWF is extending the window class)

その後、ほとんどのマウス操作は機能しますが (Flex ボタンなど)、機能しないものもあります (ある種のキャンバス上のクリック可能なアイテム)。さらに、SWF を

YFilesSWF.sprite (YFilesSWF is extending the view)

の場合、SWF はマウス イベントに反応しなくなります。つまり、window の方がいくらか優れていますが、十分ではありません。私は使用しています

flash.display.Loader

通常の方法で SWF をロードするためのクラス。これは、swf をロードするために使用し、OpenLaszlo アプリ内に含める AS3 ローダー クラスの実装です。

 public class LoadSwf extends Sprite
 {
      public var externalSwfLoader:Loader = new Loader();
      public var swfDisplayObject:DisplayObject;
      public var swfComObject:Object;

     public function LoadSwf(url:String,p:Sprite):void
     {
//                externalSwfLoader.mouseChildren = false;
//                this.mouseChildren = false;
//                p.mouseChildren = false;   

//                externalSwfLoader.mouseEnabled = false;
//                this.mouseEnabled = false;
//                p.mouseEnabled = false;   

            p.addChild(this);
          externalSwfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, createSwfObjects);
          externalSwfLoader.load(new URLRequest(url));
     }

     public function createSwfObjects(evt:Event):void
     {
          var loaderInfo:LoaderInfo = evt.target as LoaderInfo;

          swfDisplayObject = evt.target.content;
          swfComObject = loaderInfo.content;

          addChild(swfDisplayObject);
     }
}

これは、クラスの使用方法の OpenLaszlo コードです。

<class name="YFilesSWF" extends="window">

            <passthrough>
                    import LoadSwf;
            </passthrough>

            <attribute name="loadSwf" />

            <handler name="oninit"><![CDATA[
                    this.loadSwf = new LoadSwf("SimpleGraphEditor.swf", this.content.sprite);
            ]]></handler>
 </class>

OpenLaszlo が Flex マウス イベントの一部を破壊しているものと場所、およびそれを防ぐ方法を知っている人はいますか? Flex マウス イベントを保存するウィンドウよりも優れたコンポーネントはありますか? OL コンポーネントのソース コードで何を変更する必要がありますか?

ありがとう!

4

0 に答える 0