Android启动时的CocosSharp游戏需要很长时间才能绘制图形

时间:2017-10-27 22:27:02

标签: xamarin xamarin.android cocossharp

我们使用CocosSharp编写了一个简单的游戏。该游戏是另一个Xamarin.Forms应用程序。当玩家点击玩游戏时,我们将它们带到启动画面。在iOS上,此屏幕立即显示,但在Android上,屏幕仅黑色约15秒。音乐在两个平台上都能立即播放。

从CocosSharpView的ViewCreated事件调用以下内容。

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

挂牌似乎是在创建标签时。以下需要大约10秒才能完成,其中99%位于第一个标签的构造函数中。我们在构造函数中调用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上。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

几周前,我遇到了同样的问题。问题是CCLabel构造函数 它不知道你使用哪种类型的字体,因此在最后尝试最后一个正确之前尝试所有其他类型。您需要在CCLabel构造函数中指定字体类型,如下所示:

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


希望它有所帮助。