忍者ブログ
プログラミング初心者のゲーム創作過程の記録です。ソースも載せるかも…
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


テストが近いと休みの日もあんまり時間が取れませんね;
ちょっと暇を見つけて少しだけ書いてみようかと。
なので以前、プラグインの評価をしていた時に少し言ってたスプライトの扱い方について。
勝手にスプライトが割り振られる方は放っておけばいいんですけど、自分で振る時は最初に色々と計画を立てておかないと後々大変なことになるんです。



例えば自機を書くだけでしたら1番とか2番とか決めておけばいいんですけど、自機の弾を描画するときは大変です。
画面の中に10発とか20発とかあるはずですし、画面の上の方にいたら1発2発ぐらいしかないことになります。
となると、弾のスプライトの番号を10とか11とか、勝手に振ってしまうのも出来ませんし、次の弾を何番にしたらいいのか分からなくなりますよね。
てことで、こんな感じに書いてしまいます。


;スプライトナンバーの定数定義
#const OWN_BULLET_SPR_NO 951    ;自機弾スプライト 951 - 1000
#const ITEM_SPR_NO 1001            ;アイテムスプライト 1001 - 1800
;変数定義
    ownBulletSprNo = OWN_BULLET_SPR_NO        ;自機弾の次描画スプライト番号
//ショット生成
    x = (自機のx座標) : y = (自機のy座標)
    es_set ownBulletSprNo, x, y, SHOT_CHA
    es_type ownBulletSprNo, OWN_BULLET_G
    es_adir ownBulletSprNo, 127, 6000
(*) ownBulletSprNo++
    if ownBulletSprNo >= ITEM_SPR_NO{
        ownBulletSprNo = OWN_BULLET_SPR_NO
    }

て感じ。
重要なのは(*)以降です。
ownBulletSprNoに次に描画する番号を記録しておいて、描画したら+1をする。
ownBulletSprNoが次のアイテム用スプライト番号を超えたらまた自機弾描画用の最初のスプライト番号に戻す。

こんな感じなのを全てのスプライトに関してやればOKです。
なのでプログラムを書き始める前に何番のスプライトにどんな絵を描くかすべて計画しておく。
それで新しいスプライトを描くたびに(*)以降のプログラムを書いてやれば完璧です。
PR

Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
[13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3
«  Back :   HOME   : Next  »
カレンダー
10 2024/11 12
S M T W T F S
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
プロフィール
HN:
すず
性別:
男性
自己紹介:
プログラムもSTGも初心者です(^_^;)
昔ツインビーやゼビウス、グラディウスを少し遊んでました。最近は東方を遊んで弾幕ゲーにカルチャーショックをw
現在友達とまったり製作中...
カテゴリー
最新コメント
ブログ内検索
バーコード
忍者ブログ [PR]