スポンサーサイト

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

難易度★ ⇒ 難易度★★★★

一応、 簡易版が完成した自作ゲームですが、現在改良しています。

今回 改良を加えたのは移動処理。

前は、キーボードの右⇒を押す30ドット移動して止まるという風にしてました。
(左、上、下でも同じく30ドット)
押す

これだと、二次元配列で 簡単に 動かす・動かさないの判定をする事ができます。
進む方向のデータが"0"なら進む みたいに)
二次元配列
※上記の画像verと対応してます

しかし、今回これを根本から変えました。

【変更点】
●1ドット単位で細かく動かす
●斜め移動追加

たった二行で表せる変更点ですが、これにより
とても処理の難易度が上がりました。
(物凄く苦戦しました)

【仕様変更で出てきた問題点①】
●壁の間に入れなくなる
移動できない
今までは自動的に30で割り切れる場所まで移動していましたが、
今回からは1ドット単位で動きます。
当然、 1ドットでもズレれば移動できません。


【仕様変更で出てきた問題点②】
●不自然な移動になる
右上に移動するとしましょう。
下記の画像(左) のような場合、壁と接触した事になるので 突然止まります。
壁の摩擦係数は一体いくらあるんだと思えるくらい止まります。)

画像(右)のように、右側へ滑って動いてくれるといいのですが、動いてくれません。
原因は、そのようにプログラムを組んでいないからですね。

プログラムは思い通りに動いてくれません。
書いた通りに動くのです。


すべる


細かい事を言うとゴチャゴチャになってしまうので、詳細は省きますが、とりあえず、
こういう風に対処しました。
-----------------------------------------------------------------
●斜め移動で壁にぶつかった時、XYのどちらかが移動できれば移動する
(上に壁がある場合は、右上の時⇒右方向だけ移動 左上の時 ⇒ 左方向だけ移動)

●30で割り切れない座標で壁にぶつかった時、割り切れる場所まで1ドットずつ移動させる
(↓右に移動しようとした時)
-----------------------------------------------------------------

調整

ゲームを作るときは こういう細かい操作方法まで考えないといけませんね。
うーん大変。
まだ修正したい箇所はあるので、順次修正予定!
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



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