//usingディレクティブで名前空間の参照を簡単にします。
using System;
using System.Drawing;
using System.Windows.Forms;
using Wakaba;
namespace Game
{
class Game
{
//オブジェクト変数を宣言します。
private static Helper w;
[STAThread]
static void Main(string[] args)
{
try
{
//オブジェクト変数をインスタンス化します。
w = new Helper();
//若葉ヘルパーを初期化します。
w.Initialize();
//背景用スプライトを設定する
w.SpriteCreate("背景用", SpriteLock.Properties.Resources.wall, Helper.TransparentColor.None);
w.SpritePosition("背景用", 1, 0, 0);
w.SpriteShow("背景用");
//描画用スプライトを設定する
w.SpriteCreate("描画用", 640, 480);
w.SpritePosition("描画用", 0, 0, 0);
w.SpriteShow("描画用");
//ウィンドウを閉じるまで画面を更新します。
do
{
//乱数のシード値を設定します。
Random objRnd = new Random(DateTime.Now.Millisecond);
//スプライトをロックしてビットマップオブジェクトを取得します。
Bitmap objBmp = w.SpriteLock("描画用");
Graphics objGrp = Graphics.FromImage(objBmp);
//GDI+で線をランダムに描画します。
for (int i = 0; i < 50; i++)
{
Pen objPen = new Pen(Color.FromArgb(objRnd.Next(256), objRnd.Next(256), objRnd.Next(256)), 4);
objGrp.DrawLine(objPen, objRnd.Next(640), objRnd.Next(480), objRnd.Next(640), objRnd.Next(480));
objPen.Dispose();
}
objGrp.Dispose();
//スプライトをアンロックします。
w.SpriteUnlock("描画用", ref objBmp);
//スプライトを回転させます。
for (byte j = 0; j < 255; j++)
{
if (w.WindowClosing) break;
w.SpriteRotation("描画用", j);
w.SpriteTransparent("描画用", (byte)(255 - j));
w.ScreenRefresh(true);
}
//スプライトを透明で塗りつぶします。
w.SpriteFillColor("描画用");
} while (!w.WindowClosing);
}
catch (Exception ex)
{
//若葉ヘルパーのエラーメッセージを表示します。
MessageBox.Show(ex.Message + ex.StackTrace);
}
//若葉ヘルパーのオブジェクトを破棄します。
w.Dispose();
}
}
}