FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cシャープ

ほげ
namespace GameTemplate
{
  static class Program
  {
    [STAThread]
    static void Main()
    {
      Wrap.InitLibWindow(1024, 576, 16);
      Wrap.SetToBackBufferScreen();
      
      Scenes.Scene scene = new Scenes.Title();

      while (Wrap.IsMainLoop())
      { 
        scene = scene.Update();
        scene.GetInput();
        scene.Draw();
        scene.Test("hello world");

        Wrap.SetFromBackBufferScreen();
      }
      Wrap.EndLibWindow();
    }
  }
}
//-------------------------------------
namespace GameTemplate.Scenes
{
  public abstract class Scene
  {   
    public Scene() { next = this; }
    public Scene Update() { return next; }
    public abstract void GetInput();
    public abstract void Draw();
    public abstract void Test(string s);

    protected Scene next;
  }
}
//-------------------------------------
namespace GameTemplate.Scenes
{
  public class Title : Scene
  {
    public override void GetInput()
    {
      if (Wrap.GetInput())
      {
        next = new Scenes.Stages.Stage01();
      }
    }

    public override void Draw()
    {
      Wrap.Draw();
    }

    public override void Test(string s)
    {
      s += " Title";
      Wrap.Test(s);
    }

    public Title()
    {
    }
  }
}
//-------------------------------------
namespace GameTemplate.Scenes.Stages
{
  public abstract class Stage : Scene
  {
    public Stage()
    {      
      player = new DrawObjs.Charas.Player("imagesay_256b.png");
    }
    public override void Draw()
    {
      bg.Draw();
      player.Draw();
    }

    public override void GetInput()
    {
      Wrap.GetInput();
      player.Move(Wrap.GetDirKeyX()*2, Wrap.GetDirKeyY()*2);
    }

    private DrawObjs.DrawObj player;
    protected DrawObjs.DrawObj bg;
  }
}
//-------------------------------------
namespace GameTemplate.Scenes.Stages
{
  class Stage01 : Stage
  {
    public Stage01()
    {
      bg = new DrawObjs.BackGrounds.Bg01("imagemadoka-magica03.jpg");
    }

    public override void Test(string s)
    {
      s += " Stage01";
      Wrap.Test(s);
    }
  }
}
//-------------------------------------
namespace GameTemplate.DrawObjs
{
  public abstract class DrawObj
  {
    public DrawObj() { }
    public DrawObj(string filePath)
    {
      Load(filePath);
    }
    
    public void Draw()
    {
      Wrap.DrawImage(this);
    }

    public void Move(int x, int y)
    {
      this.x += x;
      this.y += y;
    }

    public int handle { set; get; }
    public int x { set; get; }
    public int y { set; get; }

    private void Load(string filePath)
    {
      handle = Wrap.LoadImage(filePath);
    }
  }
}
//-------------------------------------
namespace GameTemplate.DrawObjs.Charas
{
  public abstract class Chara : DrawObj
  {
    public Chara() { }
    public Chara(string filePath)
      : base(filePath)
    {
    }
  }
}
//-------------------------------------
namespace GameTemplate.DrawObjs.Charas
{
  class Player : Chara
  {
    public Player(string filePath)
      : base(filePath)
    {
    }
  }
}
//-------------------------------------
namespace GameTemplate.DrawObjs.BackGrounds
{
  public abstract class BackGround : DrawObj
  {
    public BackGround(string filePath)
      : base(filePath){}

    public void SetCameraCenter(int x_on_stage, int y_on_stage)
    {
      cameraX = x_on_stage;
      cameraY = y_on_stage;
    }

    public int cameraX = 0, cameraY = 0, wid = 0, hei = 0;
    public double exRate, angle;

    private void Load(string filePath)
    {
      //handle = Wrap.LoadImage(filePath);
    }
  }
}
//-------------------------------------
namespace GameTemplate.DrawObjs.BackGrounds
{
  class Bg01 : BackGround
  {
    public Bg01(string filePath)
      : base(filePath)
    {
    }
  }
}



スポンサーサイト

コメントの投稿

非公開コメント

最新記事
リンク
メールフォーム

名前:
メール:
件名(判り易くお願いします):
本文:

最新コメント
ユーザータグ

制作ゲーム 告知 うみねこのなく頃に レポート ゲーム推薦 写真 身内向け デジカメ 筋トレ ファッション 漫画感想 

プロフィール

栗坂こなべ

Author:栗坂こなべ
謎のゲーム制作者
オリジナルゲーム、
うみねこのなく頃に、KEY、Leaf
の二次創作
イラスト等
何故か筋肉コラムも追加予定

カレンダー
10 | 2018/11 | 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
最新トラックバック
検索フォーム
カウンター
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。