2017-10-27 4 views
0

CocosSharpを使って書かれたやや単純なゲームです。ゲームは別のXamarin.Formsアプリ内にあります。プレイヤーがクリックしてゲームをプレイすると、それらをスプラッシュ画面に表示します。 iOSではすぐにこの画面が表示されますが、Androidでは画面は約15秒間黒く表示されます。音楽は両方のプラットフォームですぐに再生されます。Android起動時のCocosSharpゲームでグラフィックスを描くのに時間がかかります

以下は、CocosSharpViewのViewCreatedイベントから呼び出されます。

InitializeAudio(); 
var scene = new Scenes.SplashScene(GameView); 
GameView.RunWithScene(scene); 

ハングアップはラベルを作成するときのようです。以下は、最初のラベルのコンストラクタにある99%で完了するのに10秒かかります。コンストラクタでCreateTextを呼び出します。

private void CreateText() 
    { 
     var label = new CCLabel("Text 1", "BD_CARTOON_SHOUT.TTF", 80) 
     { 
      PositionX = layer.ContentSize.Width/2.0f, 
      PositionY = layer.ContentSize.Height/1.5f, 
      Color = CCColor3B.DarkGray 
     }; 
     layer.AddChild(label); 

     label = new CCLabel("Text 2", "BD_CARTOON_SHOUT.TTF", 60)    
     { 
      PositionX = layer.ContentSize.Width/2.0f, 
      PositionY = 50f, 
      Color = CCColor3B.DarkGray 
     }; 

     layer.AddChild(label); 
    } 

これはAndroidでのみ発生します。 ありがとうございます!

+0

メモリ内のすべてのアセンブリをロードするのにどれくらいの時間がかかりますか? – SushiHangover

+0

出力ウィンドウにロードされているアセンブリが表示されません。私はそれが時間のかかる部分であると思います。あなたは、アセンブリがどれくらいの時間を取っているかを私がどのように見ることができるかについて、良い提案をしていますか? – jbassking10

答えて

0

私は数週間前に同じ問題を抱えていました。問題はCCLabelのコンストラクタ でした。どのタイプのフォントを使用しているのか分からず、最後に正しいものを試す前に他のすべてのタイプを試してみました。あなたはこのようCCLabelのコンストラクタでのフォントの種類を指定する必要があります。

var label = new CCLabel("Text 1", "BD_CARTOON_SHOUT.TTF", 80, CCLabelFormat.SystemFont); 


はそれがお役に立てば幸いです。

関連する問題