whatsnew

自作ゲーム My Works (indie game)

FairyBravers(フェアリーブレイバーズ)

コカトリスあたたかい

10秒アスレチック

きりかえスライドパズル アイちゃんver

珠音ちゃんと踊る迷路の山

きりかえスライドパズル珠音ちゃんver

ダブルピースキャッチコンテスト

異世界の保安官

熱湯!鍋奉行すん止め選手権

サラダにxxいれないで!

十倍返しの魔鏡(マジックミラー)

とりでの中のp.b.j.a.m

ドラゴン遺跡のディガー

Dangerous Space Transporter

マトリエックス MatoriEkkusu

にわとりFlyHigh!

おばけのこんにゃくピターン大作戦

CreatureSlotBattle~魔王の切り札~

跳ねる岩の洞窟 JumpingRockCave

ポテキャッチ PoteCatch

青汁ごくごく生放送

猫の日スロット222 NekoSlot222

豆まき陰陽師 MameMakiOnMyoJi

間違い探し プロ生ちゃんのトレジャーハント

DOT VIRUS SHOOTER ドットウイルスシューター

エレベータースロットガール ElevetorSlotGirl

パンプキンヘッドとお菓子の迷宮

タッチ!イカタコ Touch! Ika Tako

減量と時の部屋 Room of HimanTaurust

チョコゲット ChocolateGet

OpenTheBox~その箱を開けるとき~

ドローン1111

胡桃坂ハロウィンパーティ

コロッケ・オン・ザ・キャベツ

デスチェリー農場


轟け!爆音機!

Levitation Girl

割引狩 WaribikiHunter

お団子キャノン

団子大砲

くの一宅配便

CandyMaze

BLK2048

マッハこうもり

AdSenseBlogHead

2015年1月15日木曜日

マッハこうもり ver1.1 のプログラムの説明

 バージョンアップした説明を書こうとして、ひさびさに マッハこうもり - プチコン3号まとめWiki を見に行ったのですが、正月早々にもかかわらずプレイしてくれた方からコメントがあり、心の中ではカーニバルがわっしょいわっしょいと歓声をあげるくらいうれしかったです。


プレイしていただき暖かいコメントまでいただいたことに改めてお礼を申し上げます。


 


その中に、2つ質問が書かれていたので、その回答をしようと思います。


説明が下手なので、図をちまちまと作ってきました。


#気づけば3時間も書いてました。きっと暖かい声援の力が大きいと思います。


時間があれば見てあげてください。


 


Q1.BGの並べ方


マッハこうもりは昨日も書きましたが SBMAP に対応しています。


SBMAP のデータを読み込む処理も、サンプルゲームの GAME3JUMP の LOADSUB サブルーチンの処理をベースにしています。


SBMAP のBGのデータ形式は、1つの整数値に 16 ビットずつ 2 つの横に並んだ BG の値が設定してあったりして、少し面倒な感じはしますが、基本的には1行ずつ読み込む素直な形式です。


簡単に説明するために、 4×3の小さなマップを例にして説明します。


f:id:SakuraCrowd:20150114212139p:plain


f:id:SakuraCrowd:20150114212216p:plain


 


マッハこうもりでは、横長なマップにしているため、読み取り方を少し変更しています。


ごちゃごちゃしていますが、 MACH_BAT1_1 の loadSbMap 関数で行っていますので参考にしてください。


 


f:id:SakuraCrowd:20150114212305p:plain


 


Q2.背景の動かし方


背景、前景は BGANIM "XY+" で少しずつ動かしています。


マッハこうもりとケーキのスプライトは原点スプライトというもうひとつのスプライトにリンクさせて、原点スプライトを SPANIM "XY+" で BG と同じ分量だけ動かしています。ただし、ずらす値が BGANIM と SPANIM では+とーが逆になります。


ここらへんの処理は MACH_BAT1_1 の scrollMap 関数で行っていますので参考にしてください。


f:id:SakuraCrowd:20150114212628p:plain


SPANIM と BGANIM の両方を同時に使ってスクロールしています。


それぞれのスクロールだけのイメージは次のとおりです。


f:id:SakuraCrowd:20150114212639p:plain


 


長い記事を最後まで読んでいただきありがとうございます。


自分の作ったプログラムをわかりやすく説明することも大変なんだなと思いました。


こうやって書くことで、少し頭の中が整理できた気がします。


0 件のコメント:

コメントを投稿