15日目 | Delphi?

15日目

ベースシステムがやっと仕上げに入れそうです。こんばんは。

 

移動範囲が広すぎるとの指摘を受けて640×480のうち移動できる範囲を320×480に限定。また、描写タイミングをずらして敵機出現時の負荷を軽減。これで出現時の処理落ちはなくなった模様。まだ全体的に重いそうですが…。

 

今度はキャラサイズ見直しかな? 移動範囲のわりに大きめになってるし。そろそろ自機に残機処理追加しないとな…。

 

さて、予告通りソースの無料版Delphi6でSTGをつくるためのプログラミング講座のチュートリアルに追加した部分の一部紹介をしていこうと思います。今回は背景処理部分の紹介。Delphiの知識のある方だけお読みください。(笑

 

↓↓↓↓↓背景処理↓↓↓↓↓

//背景処理wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
          if BGY < 0 then begin
          BGY:=2.0;
          end;
          BGY:=BGY-0.005;

     Scene.PushSprite(
        Vector2D(0, 0),
        [
          SXVertexSP((ClientWidth div 4), 0, $FFFFFFFF, 0.0,BGY),
          SXVertexSP(bgcgtexture.TotalWidth+(ClientWidth div 4),0,   $FFFFFFFF, 1.0,BGY),
          SXVertexSP((ClientWidth div 4),bgcgtexture.TotalHeight*2, $FFFFFFFF, 0.0,BGY+2.0),
          SXVertexSP(bgcgtexture.TotalWidth+(ClientWidth div 4),bgcgtexture.TotalHeight*2, $FFFFFFFF, 1.0,BGY+2.0)
        ],
        bgcgTexture,
        sxbAlpha,
        true
      );

↑↑↑↑↑背景処理ここまで↑↑↑↑↑

某サイトに載っていたものを少し改造したものです。BGYはinteger、360×240で描いてある背景画像をbgcgtextureとして読み込んであります。これで背景を動かせるのですが、なぜか1枚ごとに隙間ができるためそこの処理を考えているところです。どうするかな…。