LGP3講座
LGP3に関する基礎知識からちょっとした小技、
使用している周辺ツールの紹介なんかも
やっていけたらと思います


TOPへ戻る

001 その1 LGP3とは?
002 その2 LGP3に必要なもの
003 その3 2D画像の表示
004 その4 キャラをコントローラで動かす
005 その5 マップチップ表示
006 番外編1 膨大なマップデータ
007 その6 膨大なマップデータの表示
008 膨大なマップをドットスクロール
009 番外編2マップ表示応用編
010 番外編3 フレームスキップ
011 番外編4 応用、モザイク処理
012 番外編5 スプライン、ベジェ
013 番外編6 ラスタースクロール
014 サンプル1 スーパーマリオみたいな挙動

- MultiView (Version 3.4) -

admin mode new input logout
006 番外編1 膨大なマップデータ 2010/05/09(Sun) 08:53
その5で挙げましたマップ表示ですが、
膨大なデータの場合は
わざわざ文字列で入力するわけにもいきません。

私の場合は256色ビットマップでデータを作っています。
(使用ツールはD−PIXEDです)
まず、何画面分にするか、チップは何ドットかを決める必要があります

例えば、チップが32×32ドット、マップは10画面×10画面
画面設定が640×480ドットとすれば
1画面は、横20チップ×縦15チップになります。

となると、マップデータは
横200チップ×縦150チップになります。

256色ビットマップで作成ですので
200×150のキャンバスでドットを打っていけば良いです。

肝心のチップ番号は、カラー番号に準じていけば大丈夫です。

出来たマップデータを上下反転で保存し、
バイナリエディターで先頭1078バイトを削ればそれで完成です。
(バイナリエディターで保存するときは拡張子も変えると管理しやすいです)

ソース内で読み込むときは
以下を使うと良いです
(なお、マップデータを200×150チップ、
データファイルをMAPDATA.DATにした場合です)

//--ここから

DIM MAP(200,150)

FN=F@OPEN("MAPDATA.DAT",0,1)
FOR W=0 TO 149
FOR V=0 TO 199
DAT=F@READ(FN);MAP(V,W)=DAT
NEXT
NEXT
F@CLOSE(FN)

//--ここまで

画面の表示についてはその6でやっていきます