自作ゲームを作ろうと奮闘してるのですが、どうしてもわからない事があったので質問させてください。
現在、マップ画像(1枚絵)を画面に表示させて、ゲームパッドでプレイヤーキャラを移動させるというサンプルプログラムを作っています。
移動可・不可の判定にはマップ画像にマス目上に付いた色を読み取って、条件分岐するような仕様を予定。
今の所、ゲームパッドの入力に応じて、マップ画像をスクロールさせて、擬似的に移動しているようにし、
プレイヤー座標のマップ画像の色を取得という所まではなんとかできました。
そして、次は条件分岐の作成に入ろうと思ったところで・・・問題が起きました。
今まで、celputで正常に表示されていたマップ画像が、追加の命令を1行追加するだけで、突然表示されなくなるのです。
どの命令がというのは、よくわかりません。色々とテストしている中でcolorやmesを入れただけで消えたりするので・・・。
とりあえず、ソースと使ってる画像ファイルを提示しますので、
もし、原因がわかる方が居ましたら、教えていただけませんでしょうか?
エラーも出ず、各命令の使い方を調べてもおかしい所は自分では発見できずで、悩み中です・・・。
画像ファイルダウンロード先(画像解像度は4096x2048 サイズ160KB)
http://ux.getuploader.com/peercase/download/17/map.png
ソースファイル(42行目のmes前コメントを外すとマップが表示されなくなる)
#include "mod_joystick.as" ;バッファにマップ画像をロード celload "map.png",0 ;画像解像度は4096x2048(160KB) celdiv 0,0,0,ginfo_sx/2-200,ginfo_sy/2-150 ;マップ画像の基点を、メイン画面表示用に合わせて変更(800x600) ;メイン画面を初期化 screen 1,800,600 ;変数 dim map_pos,2 ;バッファの画像を表示する座標用配列。(0がX座標、1がY座標) dim ply_pos,2 ;プレイヤーの位置座標用配列。(0がX座標、1がY座標) ply_pos=ginfo_sx/2,ginfo_sy/2 ;プレイヤーの位置を画面の中央に設定 dim clr,3 ;プレイヤー位置のRGBを取得し、格納するための配列変数(0=R/1=G/2=B) ;メインループ repeat redraw 0 : color : boxf joyGetPosEx joy_stat, 0 ;ジョイスティックの入力を取得 if joy_stat.3<(32511-10000) : map_pos.1+4 ;上 if joy_stat.3>(32511+10000) : map_pos.1-4 ;下 if joy_stat.2<(32511-10000) : map_pos.0+4 ;左 if joy_stat.2>(32511+10000) : map_pos.0-4 ;右 pos map_pos.0,map_pos.1 celput 0,0,2,2,0 ;map_pos座標にマップ画像を2倍サイズで表示 pget ply_pos.0,ply_pos.1 ;プレイヤー座標下のマップ画像色を取得 clr.0=ginfo.16 clr.1=ginfo.17 clr.2=ginfo.18 color 255,255,255 pos ply_pos.0-8,ply_pos.1-8 mes "●" ;プレイヤー(仮) pos 0,0 mes "R"+clr.0+" G"+clr.1+" B"+clr.2 ;取得した色を表示 pos 0,20 ;mes ""+ply_pos.0+" "+ply_pos.1 ;ply_posの内容を表示。この行のコメントを外すとマップ画像が表示されなくなる redraw 1 await 15 loop