ページ 11

2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月18日(土) 17:14
by cloud
2dの横スクロールアクションで坂道を実装しようと思っているのですが
どのようにコーディングするのがベストなのでしょうか?
参考までによろしくお願いします。

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月21日(火) 16:52
by ISLe
坂道をどういうデータで表現するかという方法は幾通りもありますから、ベストな方法というものはありません。

実際にゲームをプレイする際のイメージとして、どんな見た目の坂道が欲しいのかが分からないと回答のしようがありません。

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月22日(水) 11:22
by メカ
私の場合はファイルからマップのデータを読み込んで表示させています。
イメージとしてはこんな感じです。
走り書きなので間違えているかもしれませんが(汗)

コード:

//マップチップのサイズが40*40の場合
int worldx=0;//X軸
int worldy=0;//Y軸
char mapdat[100][100];//マップの配置[x軸][y軸]
for(int x=0;x<12;x++){
for(int y=0;y<7;y++){
//ここでX軸=x*40-worldx,Y軸=y*40-worldyの位置にmapdat[x+worldx/40][y+worldy/40]のマップチップを表示する
}
}

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月24日(金) 23:58
by cloud
自分のイメージでは線分と点の当たり判定でやってみようかと
思っているのですが、小数の計算、誤差等で処理が複雑に
なるような気がするんですが、やはり難しいですかね?

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月24日(金) 23:59
by みけCAT
線分と点だと突き抜けそうなので、線分と線分の当たり判定の方がいいと思います。

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月25日(土) 01:02
by ISLe
タイルを使ったマップでブロックの角と角を繋いだような坂ということですかね。
坂の部分が三角形のブロックになるような。

別に数式使った交差判定が難しいことはないと思いますよ。
でもせっかく数式使った交差判定するなら複雑な形状の坂じゃないともったいない気がしますね。

タイルを使ったマップなら、X座標のオフセットに坂の傾きを掛けるだけで高さ(のオフセット)を求められます。
ふつうの四角いブロックと同じように当たり判定して高さのオフセットで補正してやれば済むのでは。

Re: 2dゲームで坂道を実装しようと思っているのですが...

Posted: 2014年1月25日(土) 16:04
by cloud
ご意見ありがとうございます。
参考にさせて頂いて処理を組んでみます。