2

私はGreensock LoaderMaxをStarling Frameworkプロジェクトで使用しようとしていますが、Starlingには独自のクラスがたくさんあるので、他のクラスネイティブクラスを使用していますか?StarlingフレームワークをネイティブDisplayObjectを使用するクラスで使用する

経験:

package 
{ 
    import flash.display.Sprite; 
    import flash.events.Event; 
    import starling.core.Starling 

    [SWF(width="1280",height="800",frameRate="60",backgroundColor="#002143")] 

    public class Main extends Sprite 
    { 
     private var mStarling:Starling 

     public function Main():void 
     { 
      mStarling = new Starling(Game, stage) 
      mStarling.antiAliasing = 1 
      mStarling.start() 
     } 
    } 
} 

package 
{ 
    import com.greensock.events.LoaderEvent; 
    import com.greensock.loading.display.ContentDisplay; 
    import com.greensock.loading.SWFLoader; 
    import starling.display.Sprite; 
    import starling.events.Event; 

    public class Game extends Sprite 
    {  
     private var queue:SWFLoader 
     private var mm:ContentDisplay 

     public function Game():void 
     { 
      if (stage) 
       init() 
      else 
       this.addEventListener(Event.ADDED_TO_STAGE, init) 
     } 

     private function init(e:Event = null):void 
     { 
      queue = new SWFLoader("MainMenu.swf", {onComplete: completeHandler}) 
      queue.load() 
     } 

     private function completeHandler(e:LoaderEvent):void 
     { 
      mm = queue.content 
      addChild(mm) 
     } 
    } 
} 

エラーを返します:彼らは異なる構造となどであるため、

Error: Implicit coercion of a value of type com.greensock.loading.display:ContentDisplay to an unrelated type starling.display:DisplayObject. 

答えて

4

あなたMainMenu.swfメインクラスは、フラッシュはできません... extend starling.display.Sprite

する必要がありますネイティブスプライトをスターリングスプライトに変換します。負荷を完全した後、その後

mm = queue.content as Sprite; // (starlig)

あなたはまだ通常のDisplayObjectとスターリングのDisplayObjectを使用したい場合は、別のDisplayObjectを拡張して別のMC /スプライトにそれらを配置する必要があります。

ステージ

| ... |

starling.display.Sprite - >ここでは、通常のスターリングベースのスプライト/ムービークリップ

を追加することが| ... |

flash.display.Sprite - >ここにネイティブSprites/MovieClipsを追加します

関連する問題