スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

すり抜け床の実装

前回使用したマリオの高さを固定化するコードを使用すれば、簡単にすり抜け床を実装することができます。

Screenshot_2014-04-06-08-14-47.png

↓↓↓↓↓↓↓↓↓↓

Screenshot_2014-04-06-08-24-27.png

アスレチック面などに登場するキノコ柄のブロックは下からのジャンプ時のみすり抜けることが可能なブロック。
すり抜けブロック自体は2Dのアクションゲームでは必ずといっていいほど登場し、もちろんこのゲームにも取り入れていきたいと思います。

すり抜け床の概念は非常にシンプルで、上からの衝突判定(コードで言うと"赤いライン"の判定)をスルーし、着地の衝突判定(コードで言うと"青いライン"の判定)のみを行います。
(ちなみに上図のキノコブロックは本家のマリオでは"すり抜け判定はない"のですが、このゲームではすり抜けることが可能なブロックとして登場します。)

文頭ですり抜け床の実装には"マリオの高さを固定化するコード"追加すると記載しましたが、高さの固定とすり抜け床がどう関係しているのかちょこっとだけ解説しますね。

Screenshot_2014-04-05-19-03-07.png

上図はまだ高さを固定化するコードを入力していない状態のゲーム画面。着地を判定する青いラインがブロックに衝突したらマリオのY座標移動をストップするのですが…。
その前にマリオがブロックにめり込んでいるのが分かりますよね;

これは青いラインと赤い四角で囲った"キノコの傘の部分全体"が衝突範囲とみなしているからです。
つまりマリオがすり抜け床を飛びきれていなくても、青いラインとキノコの傘の部分が重なった時点で着地とみなされて中途半端な位置でストップしてしまいます。

この時点で何が言いたいのか分かってきたと思いますが…高さを固定化するコードを追加すれば、すり抜け床を飛びきれていなくても、1ブロックごとに決まった位置に移動で修正されるのでマリオが中途半端な位置にストップすることがなくなる、というわけです。ここまでの解説分かりましたか?

Screenshot_2014-04-06-09-42-03.png
スポンサーサイト

コメント

No title

相互リンクありがとうございましたm(_ _)m
質問失礼します。

キノコブロックや土管など画面に表示されるオブジェクトの管理はどのように行われているのでしょうか?

上記画像ではWorld1-1とありますが、すべての面に関して事前にどの順番でどのタイミングで表示されるのかを管理されていると推測しますが、TMXなどを使用しているのでしょうか?

Re: No title

> キノコブロックや土管など画面に表示されるオブジェクトの管理はどのように行われているのでしょうか?

オブジェクトに関しましては、二次元配列のオブジェクト番号を読み取り、アップデートハンドラーから書き込む感じです。かなり原始的で単調なやり方ですが、説明すると長くなるので新たに記事を書いていこうと思います。後ほど御覧なさってください。

> 上記画像ではWorld1-1とありますが、すべての面に関して事前にどの順番でどのタイミングで表示されるのかを管理されていると推測しますが、TMXなどを使用しているのでしょうか?

現在のところ、コースはまだ1つしか作っていないためコース1で固定です;
TMX…?拡張子のことですかね?分からないので使っていませんよ。

No title

回答ありがとうございます

配列作成で苦戦していて、TMXはオブジェクトの配置作成(中身は配列のようです)で使えそうなのですが、なかなか使い方がわからなくて、よい方法がないかと模索中です。
記事楽しみにしていますね(^^

Re: No title

> 回答ありがとうございます
>
> 配列作成で苦戦していて、TMXはオブジェクトの配置作成(中身は配列のようです)で使えそうなのですが、なかなか使い方がわからなくて、よい方法がないかと模索中です。
> 記事楽しみにしていますね(^^

記事を更新しました!是非見ていってください。
非公開コメント

プロフィール

岡本 賢治

Author:岡本 賢治
 
☆☆☆☆☆☆☆☆☆☆☆☆
 
Android専用アクションゲーム
「スーパーけんじラン」好評配信中!
 
↓↓↓↓↓↓↓↓↓↓↓↓

 
・公式サイトはこちらから
http://okamotodo.jimdo.com/

最新トラックバック

アクセスカウンター

オンラインカウンター

現在の閲覧者数:

検索フォーム

ブロとも申請フォーム

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。