Cocossharp游戏的启动画面不工作

本文关键字:工作 动画 启动 游戏 Cocossharp | 更新日期: 2023-09-27 18:13:06

我尝试在我的第一款cocossharp游戏中编写启动画面,就像在android应用程序中编写启动画面一样。然而,它显示一个黑屏,然后直接进入游戏场景。那么我应该改变什么呢?非常感谢!

public class SplashScene : CCScene
{
    CCSprite splashImage1;
    CCSprite splashImage2;
    CCLayer splashLayer;
    public SplashScene (CCWindow mainWindow) : base(mainWindow)
    {
        splashLayer = new CCLayer ();
        this.AddChild (splashLayer);
        splashImage1 = new CCSprite ("Splash1");
        splashImage1.Position = ContentSize.Center;
        splashImage1.IsAntialiased = false;
        splashImage2 = new CCSprite ("Splash2");
        splashImage2.Position = ContentSize.Center;
        splashImage2.IsAntialiased = false;
    }
    public void PerformSplash()
    {
        splashLayer.AddChild (splashImage1);
        Thread.Sleep(3000);
        splashLayer.RemoveChild(splashImage1);
        splashLayer.AddChild (splashImage2);
        Thread.Sleep(2000);
        splashLayer.RemoveChild (splashImage2);
        GameAppDelegate.GoToGameScene ();
    }
}

Cocossharp游戏的启动画面不工作

游戏循环必须为任何游戏框架的显示和更新而运行。调用Thread.Sleep会暂停线程的执行。

如果你想要在一段时间内显示闪屏,最好的方法是简单地创建闪屏场景,然后安排一个动作序列

像这样的东西将等待2s,然后删除splashLayer并进入游戏场景。

auto seq = Sequence::create(
  DelayTime::create(2.0),
  CallFunc::create([=](){
    splashLayer->removeFromParent();
    GameAppDelegate.GoToGameScene();
  }),
  nullptr);
runAction(seq);