0

最近、クラッシュ マネージャーから、私が取り組んでいるゲームのクラッシュに関するメールが届きました。

    System.ArgumentException: Exception from HRESULT: 0x80070057 (E_INVALIDARG)
       at System.Globalization.CultureInfo.nativeSetThreadLocale(String localeName)
       at System.Threading.Thread.set_CurrentCulture(CultureInfo value)
       at Siphon_Spirit.Game1.Initialize()
       at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
       at Siphon_Spirit.Program.Main(String[] args)

自動メールだったので、ユーザーがどこにいたのかわかりませんが、そのマシンには InvariantCulture が設定されていないか何かのようです。

初期化メソッドでは、次のコードを使用します。CurrentCulture と CurrentUICulture を設定する 2 行だけが問題を引き起こしていると思います。

protected override void Initialize()
    {
        this.IsMouseVisible = false;
        SetFullScreen(true);            
        SaveController.LoadOptions();
        screenManager = new Screens.ScreenManager();
        screenManager.Initialize();
        graphics.ApplyChanges();
        Window.Title = "Siphon Spirit";
        SaveController.Initialize();
        rendertarget = new RenderTarget2D(GraphicsDevice, GlobalData.ScreenWidth, GlobalData.ScreenHeight);

        debugger = new Debugger();
        Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
        Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.InvariantCulture;
        base.Initialize();
    }

クラッシュの原因についてのアイデアはありますか? より多くの人が問題なく実行しているため、これは孤立したケースのようです.

4

0 に答える 0