はじめてのYaneSDK.NET番外編2
今回は埋め込みリソースをSDLWindowのアイコンに設定してみます。
.NETのアセンブリに埋め込まれたアイコンを読み込むためにAssemblyクラスを使っています。YaneSDKとはあまり関係ないところなのでここでは触れません。詳しく知りたい方は画像やテキストファイルを実行ファイルに埋め込む - .NET Tips (VB.NET,C#...)が参考になると思います。流れとしては、
となっています。
using System; using System.Collections.Generic; using System.Reflection; using System.Drawing; using YD = Yanesdk.Draw; namespace Sample8 { static class Program { static void Main() { YD.SDLWindow window = new YD.SDLWindow(); window.SetCaption("YaneSDK"); // 実行アセンブリを取得 Assembly asm = Assembly.GetExecutingAssembly(); // アセンブリに埋め込まれているアイコンを取得 Icon icon = new Icon(asm.GetManifestResourceStream("Sample8.Icon1.ico")); // アイコンをサーフェスに変換 YD.Surface surface; YD.BitmapHelper.BitmapToSurface(icon.ToBitmap(), out surface); // 変換したサーフェスをSDLWindowのアイコンにする // YaneSDKはwindow.SetIcon(Surface)をサポートしていないのでSDLを直接呼ぶ Sdl.SDL.SDL_WM_SetIcon(surface.SDL_Surface, IntPtr.Zero); window.BeginScreenTest(); window.TestVideoMode(640, 480, 0); window.EndScreenTest(); while (YD.SDLFrame.PollEvent() == Yanesdk.Ytl.YanesdkResult.NoError) { // メインループ... window.Screen.SetClearColor(255, 255, 255); window.Screen.Clear(); window.Screen.Update(); } } } }