
| 一 括 講 読 |
|---|
マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(11/12/20(火) 19:18) s97.ghyogofl2.vectant.ne.jpcolor 102,51,0 boxf 120,450,220,480 boxf 350,450,390,480 boxf 390,430,480,480 boxf 510,430,580,480 boxf 520,430,640,480 boxf 550,400,640,430 boxf 600,370,640,400 boxf 400,300,610,310 boxf 80,260,310,310 boxf 80,130,120,200 boxf 150,90,200,100 boxf 250,100,360,80 boxf 420,80,500,100 boxf 560,90,640,100 color 0,0,0 circle 600,50,640,90 boxf 600,70,640,90 初心者なので、出来れば分かりやすく orz よろしくお願いしますm(_ _)m |
Re: マップチップの作り方が分かりません!!
投稿者:締め出された人
(11/12/21(水) 22:31) d74.gchibafl11.vectant.ne.jpマップチップを使ったマップの作り方? まず配列を覚える マップの場合縦横があるから2次元配列を理解する 配列を効率的に利用するためにrepeat、loop、cntを理解する マップチップを扱うのに便利な命令がHSP3.3(?)からあるのでそれを使う (celdiv、celputなど) mapmax_x=10//マップデータ横の最大 mapmax_y=8//マップデータ縦の最大 dim map,mapmax_x,mapmax_y//マップデータ用配列確保 map(0,0)=0,0,0,0,0,0,0,0,0,2//横一列分代入(使用チップナンバー0〜2)map(0,0)が左上 map(0,1)=0,0,0,1,1,0,1,0,1,1 map(0,2)=0,1,0,0,0,0,0,0,0,0 map(0,3)=0,0,0,0,0,0,1,1,1,0 map(0,4)=0,1,1,1,1,0,0,0,0,0 map(0,5)=0,0,0,0,0,0,0,0,0,1 map(0,6)=0,0,0,0,0,0,0,0,1,1 map(0,7)=0,0,1,1,0,1,0,1,1,1 screen 0,320,256,0,200,200//メインウィンドウを初期化 map_id=1//マップチップ用のウィンドウID screen map_id,128,128,0,50,50//マップチップ用のウィンドウ確保(普通はbufferやcelloadで仮想画面を使うが今回は分かりやすいように) celdiv map_id,32,32//マップチップ用のウィンドウに1チップのサイズを設定 //マップチップ画像をマップチップ用のウィンドウに描画 gsel map_id//マップチップ用を選択(上で確保した時に選ばれてるが) color 102,51,0 boxf 32,0,63,31//チップナンバー1 color circle 64,0,96,64//チップナンバー2 gsel 0,1//メインウィンドウを選択 //マップデータからチップナンバーを読み出してマップチップを描画 repeat mapmax_y//マップチップを縦に並べる数 pos 0,cnt*32//二回目以降32ずつ下に移動 map_cnty=cnt//マップデータ縦の読み込み位置を代入 repeat mapmax_x//マップチップを横に並べる数 celput map_id,map(cnt,map_cnty)//チップ描画後次の描画位置を右にチップサイズ分移動 loop loop |
Re^2: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(11/12/22(木) 22:59) s97.ghyogofl2.vectant.ne.jp自分なりに『締め出された人』さんの例を元に作ってみたんですけど、マップに筋が入ったり、ドアの色が黒になったりしません(><) どこが間違っているのですか? 教えてください orz //================// // マップ // //================// mapmax_x=640//マップデータ横の最大 mapmax_y=480//マップデータ縦の最大 dim map,mapmax_x,mapmax_y//マップデータ用配列確保 map(0,0)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,1)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,2)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0 map(0,3)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0 map(0,4)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,5)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,6)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,7)= 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,8)= 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,9)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,10)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,11)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,12)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,13)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,14)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,15)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,16)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,17)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,18)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,19)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,20)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,21)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,22)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,23)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,24)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,25)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,26)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,27)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,28)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,29)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,30)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,31)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,32)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,33)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,34)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,35)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,36)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0 map(0,37)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0 map(0,38)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,39)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,40)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,41)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,42)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,43)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,44)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,45)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,46)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,47)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,48)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,49)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,50)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,51)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,52)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,53)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,54)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,55)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,56)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,57)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,58)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,59)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 screen 0,480,360,0,200,100//メインウィンドウを初期化 map_id=1//マップチップ用のウィンドウID screen map_id,150,150,0,50,50//マップチップ用のウィンドウ確保 celdiv map_id,6,6//マップチップ用のウィンドウに1チップのサイズを設定 //マップチップ画像をマップチップ用のウィンドウに描画 gsel map_id//マップチップ用を選択 color 102,51,0 boxf 10,0,15,6//チップナンバー1 color boxf 20,0,25,6//チップナンバー2 gsel 0,1//メインウィンドウを選択 //マップデータからチップナンバーを読み出してマップチップを描画 repeat mapmax_y//マップチップを縦に並べる数 pos 0,cnt*6//二回目以降6ずつ下に移動 map_cnty=cnt//マップデータ縦の読み込み位置を代入 repeat mapmax_x//マップチップを横に並べる数 celput map_id,map(cnt,map_cnty)//チップ描画後次の描画位置を右にチップサイズ分移動 loop loop |
Re^3: マップチップの作り方が分かりません!!
投稿者:締め出された人
(11/12/23(金) 00:58) d74.gchibafl11.vectant.ne.jpチップサイズが6×6でウィンドウサイズが480×360だと > mapmax_x=640//マップデータ横の最大 > mapmax_y=480//マップデータ縦の最大 > dim map,mapmax_x,mapmax_y//マップデータ用配列確保 ここで確保してる配列はウィンドウ64個分・・・ このウィンドウ一画面分なら横80、縦60で埋められる > マップに筋が入ったり、ドアの色が黒になったりしません(><) > どこが間違っているのですか? これはマップチップを作ってる > color 102,51,0 > boxf 10,0,15,6//チップナンバー1 > color > boxf 20,0,25,6//チップナンバー2 の所が違ってるんだけど > celdiv map_id,6,6//マップチップ用のウィンドウに1チップのサイズを設定 ここで縦横6に設定してるからチップナンバー1は横7ドット目からになる boxf 10,0,15,6//チップナンバー1 ↓ boxf 6,0,11,5//チップナンバー1(0が1ドット目になるからこれで縦横6ドット) チップナンバー2は更に横に6ドットずらしてboxf描画 で、自分がサンプル出したのはマップチップを使ったマップの作り方なんだけど マップチップの作り方が聞きたかった? それならペイントとか絵を描いて保存できるソフト使って 保存したファイル読み込んでマップチップにするのが普通だよ |
Re^4: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(11/12/23(金) 23:25) s97.ghyogofl2.vectant.ne.jp
|
Re^5: マップチップの作り方が分かりません!!
投稿者:締め出された人
(11/12/24(土) 23:25) d74.gchibafl11.vectant.ne.jp
|
Re^6: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(11/12/31(土) 20:35) s97.ghyogofl2.vectant.ne.jp
|
Re^7: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/01(日) 12:19) 36-2-114-131.chiba.ap.gmo-isp.jp座標と配列の関係は分かってる? 下のが理解できないと次に進めない mapmax_x=5//マップデータ横の最大 mapmax_y=5//マップデータ縦の最大 dim map,mapmax_x,mapmax_y//マップデータ用配列確保 map(0, 0)= 0, 1, 2, 3, 4 map(0, 1)= 5, 6, 7, 8, 9 map(0, 2)=10,11,12,13,14 map(0, 3)=15,16,17,18,19 map(0, 4)=20,21,22,23,24 mchip_size=64 screen 0,mchip_size*mapmax_x,mchip_size*mapmax_y font msgothic, 24,1 repeat redraw 0 color 255,255,255:boxf color repeat mapmax_x line 0,cnt*mchip_size,mapmax_x*mchip_size,cnt*mchip_size line cnt*mchip_size,0,cnt*mchip_size,mapmax_x*mchip_size loop x = limit(mousex,0,mapmax_x*mchip_size) //マウス座標をウィンドウ内に収める(そのまま使うと配列要素数を超えるから) y = limit(mousey,0,mapmax_y*mchip_size) map_x = x / mchip_size //マップデータ上の自分の位置(座標をチップサイズで割ると配列上の位置が出る) map_y = y / mchip_size mchip_no = map( map_x ,map_y ) //自分の位置にあるチップナンバー収得 color 200 pos 0,0 mes "座標x="+x+" 配列横="+map_x mes "座標y="+y+" 配列縦="+map_y mes "チップナンバー="+mchip_no+"\n" mes "チップ配置座標x="+map_x*mchip_size //配列上の位置にチップサイズを掛けるとチップ配置座標になる mes "チップ配置座標y="+map_y*mchip_size redraw 1 await 16 loop |
Re^8: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/01(日) 19:49) 36-2-114-131.chiba.ap.gmo-isp.jpあ、分かるとは思うけど ウィンドウ内にマウスカーソルを もっていって座標と配列の関係を見て |
Re^9: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/03(火) 23:48) s97.ghyogofl2.vectant.ne.jp理解はなんとなく出来たのですが、それをどうやってHSPで表したら当たり判定が出来るのですか? ちなみに、『if key&1:x=x-1:if x<0:x=0』みたいなものは分かります。 |
Re^10: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/04(水) 00:38) 36-2-114-131.chiba.ap.gmo-isp.jpじゃぁ、自分と同じ座標に何番のマップチップがあるかを見る事が出来るんだから チップナンバー1を障害物として判定するとして http://www.onionsoft.net/hsp/beta/betabbs.cgi?no=8845&reno=8843&oya=8837&mode=msgview&list= ↑で書いたスクリプトの↓の部分で if mchip_no > 0 { if mchip_no = 1 { //ここに来たらチップナンバー1と重なってるって事(ここで最小限の当たり判定は終えてる) //↓当たり判定後の制御 if key&4:x-2 //入力キーと逆方向に移動 if key&1:x+2 if key&2:y+2 if key&8:y-2 } } 凄く手抜き 自分の左上一点しか判定してない だから左からチップナンバー1と当たると殆ど重なるまで止まらない これを防ぐには最低自分の4角判定する必要がある この判定後の制御ではゲームとしては使い物にならない まず判定と判定後の制御は別物って事を分かってくれ |
Re^11: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/04(水) 13:21) s97.ghyogofl2.vectant.ne.jp
|
Re^12: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/04(水) 13:26) s97.ghyogofl2.vectant.ne.jp> mchip_LUp = map( map_x , map_y ) //自分の位置にあるチップナンバー収得 > mchip_LUn = map( map_x , map_y+1 ) > mchip_RUp = map( map_x+1 , map_y ) > mchip_RUn = map( map_x+1 , map_y+1 ) 書き忘れていました orz LUp = 左上 LUn = 左下 RUp = 右上 RUn = 右下 を意味します。 |
Re^13: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/06(金) 03:02) 36-2-114-131.chiba.ap.gmo-isp.jp
|
Re^14: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/11(水) 00:17) s97.ghyogofl2.vectant.ne.jp
|
Re^15: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/11(水) 19:03) 36-2-114-131.chiba.ap.gmo-isp.jp> ・緑の■の動きがぎこちない PCの処理能力を超えてるからぎこちない動きになってる CPU使用率が50%や25%でもCPUコア一つを使い切ってたら処理落ちを起す 重い原因はマップチップを並べる所で無駄にmapmax_x*mapmax_y回リピートしてる リピートは一画面分で良い まず↓ここで指摘した部分を直してない http://www.onionsoft.net/hsp/beta/betabbs.cgi?no=8841&reno=8840&oya=8837&mode=msgview&page=0 > mapmax_x=480 //マップデータ横の最大 > mapmax_y=360 //マップデータ縦の最大 これは画面のサイズじゃ無くチップを並べるためのデータの数 サンプルではマップデータ最大*チップサイズ=画面サイズだったから チップを並べる所でも同じ変数を利用してる > ・横移動のときはブロック(茶色の■)をすり抜けてしまう 点で判定してるからチップサイズを超える速度は使えない(ブロックを飛び越すから) 同じ理由でチップサイズを超える大きさを自分のサイズには使えない これを回避する方法はあるが、ゲームの方をこの制限以内に収まるように考えた方が良い それが出来た上でどうしても必要ならどうすれば良いか、まずは自分で考えてくれ > ・重力がない 足場が無ければ落下処理をするようにすれば良い 足場があるかどうかはサンプルの判定を応用すればできる |
Re^16: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/12(木) 00:34) s97.ghyogofl2.vectant.ne.jp> > ・重力がない > 足場が無ければ落下処理をするようにすれば良い > 足場があるかどうかはサンプルの判定を応用すればできる サンプルを探しているのですが、どれも#defineを使ったサンプルしかないため、理解が出来ず、応用することが出来ません(>_<) どうすればいいですか?m(_ _)m |
Re^17: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/12(木) 01:49) 36-2-114-131.chiba.ap.gmo-isp.jp> サンプルを探しているのですが、どれも#defineを使ったサンプルしかないため、理解が出来ず、応用することが出来ません(>_<) 私が出した判定のサンプルの事 自分の四隅の判定は出来てるんだから 真下の判定もできるでしょ |
Re^18: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/13(金) 20:22) s97.ghyogofl2.vectant.ne.jp
|
Re^19: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/13(金) 21:24) 36-2-114-131.chiba.ap.gmo-isp.jp何が分からないのか・・・ map_Lx = x / mchip_size //自分の左側マップデータ上のx位置 map_Uy = y / mchip_size //上側y位置 map_Rx = (x+mysize_x-1) / mchip_size //右側x位置 map_Dy = (y+mysize_y-1) / mchip_size //下側y位置 mchip_LUp = map( map_Lx , map_Uy ) //自分の左上位置にあるチップナンバー収得 mchip_LUn = map( map_Lx , map_Dy ) //左下 mchip_RUp = map( map_Rx , map_Uy ) //右上 mchip_RUn = map( map_Rx , map_Dy ) //右下 自分の四隅にどのチップか重なってるは上ので分かるでしょ? 左下右下のマップデータ収得してるのを1ドット下を収得するようにすれば 自分の足元に何のチップが使われてるか分かるでしょ? 分からないなら http://www.onionsoft.net/hsp/beta/betabbs.cgi?no=8853&reno=8852&oya=8837&mode=msgview&list= URL先に書いたのも理解出来てないって事だから もう一回ちゃんとスクリプトを読んで配列と座標の関係を 完全に理解して 後 mchip_size=6 //チップサイズ mysize_x=20 //自分のxサイズ(チップサイズより大きくは出来ない判定の修正が必要) mysize_y=20 //自分のyサイズ チップサイズを超える大きさは判定の修正が必要って書いてるんだが・・・ |
Re^20: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/14(土) 12:48) s97.ghyogofl2.vectant.ne.jpジャンプ自体を変えてみたのですが、ブロックの上からジャンプをすることが出来なくなってしまいました。(ジャンプはhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1474517719を元に作りました) どこがおかしいのですか?m(_ _)m //================// // マップチップ // //================// mapmax_x=80 //マップデータ横の最大 mapmax_y=60 //マップデータ縦の最大 dim map,mapmax_x,mapmax_y //マップデータ用配列確保 map(0,0)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,1)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,2)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0 map(0,3)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0 map(0,4)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,5)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,6)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,7)= 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,8)= 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,9)= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2 map(0,10)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,11)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,12)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,13)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,14)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,15)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,16)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,17)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,18)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,19)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,20)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,21)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,22)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,23)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,24)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,25)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,26)=1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,27)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,28)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,29)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,30)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,31)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,32)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,33)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,34)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,35)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,36)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0 map(0,37)=0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0 map(0,38)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,39)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,40)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,41)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,42)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,43)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 map(0,44)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,45)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,46)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,47)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 map(0,48)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,49)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,50)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 map(0,51)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,52)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,53)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,54)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 map(0,55)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,56)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,57)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,58)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 map(0,59)=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 screen 0,480,360,0,200,100 //メインウィンドウを初期化 mchip_size=6 //チップサイズ mysize_x=15 //自分のxサイズ(チップサイズより大きくは出来ない判定の修正が必要) mysize_y=15 //自分のyサイズ map_id=1 //マップチップ用のウィンドウID screen map_id,120,120,0,50,50 //マップチップ用のウィンドウ確保 celdiv map_id,mchip_size,mchip_size //マップチップ用のウィンドウに1チップのサイズを設定 //マップチップ画像をマップチップ用のウィンドウに描画 gsel map_id //マップチップ用を選択 color 102,51,0 boxf 6,0,11,5 //チップナンバー1 color boxf 12,0,17,5 //チップナンバー2 gsel 0,1 //メインウィンドウを選択 mchip_name="無","ブ","扉" gsel 0,1 x=0 y=360 vy=0.0 jump=0 //繰り返し repeat await 16 redraw 0 //================// // ステージ // //================// repeat mapmax_y //マップチップを縦に並べる数 pos 0,cnt*mchip_size //二回目以降mchip_sizeずつ下に移動 map_cnty=cnt //マップデータ縦の読み込み位置を代入 repeat mapmax_x //マップチップを横に並べる数 celput map_id,map(cnt,map_cnty) //チップ描画後次の描画位置を右にチップサイズ分移動 loop loop stick key,31 bak_x=x //移動前の座標を保存 bak_y=y my_Speed=2 //右矢印 if key&4:x+my_Speed //左矢印 if key&1:x-my_Speed //スペースキー getkey key,32 if key=1 & jump=0{ jump=1 vy=-4.5 } //ジャンプ中、落下中、共通する点は、地面に付いていない事。 if jump=1{ vy+=0.15 y+=vy } //着地 if 360<mysize_y+y-1{ jump=0:vy=0.0 } //下矢印 if key&8:y+my_Speed //画面外防止 x=limit(x,0,480-mysize_x) y=limit(y,0,360-mysize_y) //================// // 当たり判定 // //================// bak_Uy = bak_y/mchip_size //移動前の座標のマップデータ上の位置(上側y位置) bak_Dy = (bak_y+mysize_y-1)/mchip_size //(下側y位置) map_Lx = x / mchip_size //自分の左側マップデータ上のx位置 map_Uy = y / mchip_size //上側y位置 map_Rx = (x+mysize_x-1) / mchip_size //右側x位置 map_Dy = (y+mysize_y-1) / mchip_size //下側y位置 mchip_LUp = map( map_Lx , map_Uy ) //自分の左上位置にあるチップナンバー収得 mchip_LUn = map( map_Lx , map_Dy ) //左下 mchip_RUp = map( map_Rx , map_Uy ) //右上 mchip_RUn = map( map_Rx , map_Dy ) //右下 color pos 0,0 mes ""+mchip_name(mchip_LUp)+" "+mchip_name(mchip_RUp) mes ""+mchip_name(mchip_LUn)+" "+mchip_name(mchip_RUn) if mchip_LUn < 1 { if mchip_LUn = 0 { } } if mchip_LUp > 0 { if mchip_LUp = 1 { // 移動前マップy位置が移動後のマップy位置と同じならブロックの横面に接触として処理(移動前と移動後で同じブロックの高さなら縦面には当たらない) // or // 移動後のx座標と移動前の下側y座標の位置にブロックがあったら横面に接触として処理(縦にブロックが繋がってるから横にはいけない) // or // 移動後のx座標と移動前の上側y座標の位置にブロックがあったら横面に接触として処理(縦にブロックが繋がってるから横にはいけない) if (bak_Uy=map_Uy) or (map( map_Lx , bak_Dy )=1) or (map( map_Lx , bak_Uy )=1) { //左上がブロック横面に接触 if bak_x>x { x = map_Lx*mchip_size+mchip_size} //左に移動中に接触してるからブロックの右側に自分を移動 }else{ //左上がブロック縦面に接触 if bak_y>y { y = map_Uy*mchip_size+mchip_size} //上に移動中に接触してるからブロックの下側に自分を移動 } } } if mchip_LUn > 0 { if mchip_LUn = 1 { if (bak_Dy=map_Dy) or (map( map_Lx , bak_Dy )=1) or (map( map_Lx , bak_Uy )=1) { if bak_x>x { x = map_Lx*mchip_size+mchip_size} }else{ if bak_y<y { y = map_Dy*mchip_size-mysize_y} } } } if mchip_RUp > 0 { if mchip_RUp = 1 { if (bak_Uy=map_Uy) or (map( map_Rx , bak_Uy )=1) or (map( map_Rx , bak_Dy )=1) { if bak_x<x { x = map_Rx*mchip_size-mysize_x} }else{ if bak_y>y { y = map_Uy*mchip_size+mchip_size} } } } if mchip_RUn > 0 { if mchip_RUn = 1 { if (bak_Dy=map_Dy) or (map( map_Rx , bak_Dy )=1) or (map( map_Rx , bak_Uy )=1) { if bak_x<x { x = map_Rx*mchip_size-mysize_x} }else{ if bak_y<y { y = map_Dy*mchip_size-mysize_y} } } } color 0,66,0 circle x,y,mysize_x+x-1,mysize_y+y-1 redraw 1 loop |
Re^21: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/14(土) 14:58) 36-2-114-131.chiba.ap.gmo-isp.jpウィンドウ一番下の座標にならないと着地と判断してないから ブロックの上に乗る処理は既にあるんだから利用できるでしょ |
Re^22: マップチップの作り方が分かりません!!
投稿者:坂上田村麻呂
(12/01/15(日) 21:50) s97.ghyogofl2.vectant.ne.jp
|
Re^23: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/22(日) 17:10) 36-2-114-131.chiba.ap.gmo-isp.jp
|
Re^23: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/15(日) 23:08) 36-2-114-131.chiba.ap.gmo-isp.jp> ●がブロックの上から下りることが出来ない http://www.onionsoft.net/hsp/beta/betabbs.cgi?no=8873&reno=8872&oya=8837&mode=msgview&page=0 ↑で言われた事をやってないから > ●がジャンプ中にブロックに近づくと、スパイダーマンのように張り付いてしまう > if (mchip_LUn=1) or (mchip_RUn=1) or (mysize_y+y-1>360) { これじゃ横から当たってても関係なく着地判定してる > if bak_x>x { x = map_Lx*mchip_size+mchip_size} //左に移動中に接触してるからブロックの右側に自分を移動 > }else{ //左上がブロック縦面に接触 > if bak_y>y { y = map_Uy*mchip_size+mchip_size} //上に移動中に接触してるからブロックの下側に自分を移動 上に移動中に接触してたらブロックの下側に移動とは逆に 下に移動中に接触してたらブロックの上側に移動って部分がある コメントは入れてないから自分で探して 後修正追加が少ないんだから一々全部書き込む必要は無い 部分的に修正前修正後を抜き出して貼れば良い |
Re^13: マップチップの作り方が分かりません!!
投稿者:締め出された人
(12/01/05(木) 23:28) 36-2-114-131.chiba.ap.gmo-isp.jp> ブロックとブロックの間を通る方法を教えてくださいm(_ _)m > 画面の端に行くとエラーが出てしまう > mchip_LUp = map( map_x , map_y ) //自分の位置にあるチップナンバー収得 > mchip_LUn = map( map_x , map_y+1 ) > mchip_RUp = map( map_x+1 , map_y ) > mchip_RUn = map( map_x+1 , map_y+1 ) 惜しい これだと隣の配列要素を見てしまう(だから1ブロック分の間が通れなし、範囲外の配列を見てエラーになる) 見たいのは自分のサイズ内の配列要素 x / mchip_size これで左端を見れるんだから (x+mchip_size-1) / mchip_size で右端の位置になる(mchip_sizeには本来自分のサイズを使うが今回は同じサイズを使ってるから) -1にしてるのはmchip_size分足してしまうとmchip_size/mchip_sizeで1なのでmap_x+1と同じになってしまう //当たり判定準備 map_Lx = x / mchip_size //自分の左側マップデータ上のx位置 map_Uy = y / mchip_size //上側y位置 map_Rx = (x+mchip_size-1) / mchip_size //右側x位置 map_Dy = (y+mchip_size-1) / mchip_size //下側y位置 mchip_LUp = map( map_Lx , map_Uy ) //自分の左上位置にあるチップナンバー収得 mchip_LUn = map( map_Lx , map_Dy ) //左下 mchip_RUp = map( map_Rx , map_Uy ) //右上 mchip_RUn = map( map_Rx , map_Dy ) //右下 こんな感じになる > ↓を押しているときにブロックに当たると●が揺れて 左下が当たって上に移動 更に右下も判定され当たってると上に移動 これによりブロックより距離が離れるから ↓を押し続けてると揺れてるようになる これは元々の制御方法に問題があるので改善の方法は示しませんが 複数回判定した時には色々問題が出ることを知っておいてください これで自分の四隅にブロックが触れてるかは分かるようになったと思う でも、これだけでは判定後の制御に必要な情報が不足している 必要なのは(色々やり方の中の一つの方法だから最終的に作りたいゲームには向かない可能性もある) ・移動前の座標 ・ブロックのどの面に当たったか ・当たったブロックの座標 出来たら後でサンプル出すかも・・・ |