キャラクターの動かし方について
Posted: 2011年3月23日(水) 09:28
今、マリオのようなアクションゲームを製作中なんですが、
コードをどのように組んでよいかわからず困っています。
作りたい内容なのですが、
①キャラクターを同時に二体操作する(1P,2Pという感じで)
②Y=FIELD_MAX_Yを地面とし、矢印キー左で左に、右で右に、上でジャンプする
③他のキャラクターとぶつかった際に、重ならないようにする(上に乗っかれる)
④上に乗っかっていた際、下のキャラがジャンプすると上のキャラも乗っかったまま動く
⑤他キャラの上に乗っかっている間もジャンプできる
といった感じです。
今①、②までは実現できたのですが、
③でつまづいています。
今まで考えたものとして、
1.キャラの四隅と他キャラの側面が重なったらその方向へ歩くフラグを消してみる
→「重なる」という判定が1ドット分だったため、一度に5ドット動かすキャラ操作ではすり抜けてしまい失敗
2.キャラの四隅と他キャラの側面から内部5ドット分に当たり判定をつけ、最後に内部に食い込んでいる分だけ補正する
→当たり判定がかぶるところが出てくる?(未実行)
のような感じになっています。
ソースコードですが、上の1から2へと書き換えている途中でごっちゃになっているので
あとで貼り付けようと思います。
どのように考えたらよいか、考え方を教えてください。
④、⑤は後で実装させようとしているものなので、お答えいただかなくても大丈夫です。
長文失礼しました。よろしくお願いいたします!
コードをどのように組んでよいかわからず困っています。
作りたい内容なのですが、
①キャラクターを同時に二体操作する(1P,2Pという感じで)
②Y=FIELD_MAX_Yを地面とし、矢印キー左で左に、右で右に、上でジャンプする
③他のキャラクターとぶつかった際に、重ならないようにする(上に乗っかれる)
④上に乗っかっていた際、下のキャラがジャンプすると上のキャラも乗っかったまま動く
⑤他キャラの上に乗っかっている間もジャンプできる
といった感じです。
今①、②までは実現できたのですが、
③でつまづいています。
今まで考えたものとして、
1.キャラの四隅と他キャラの側面が重なったらその方向へ歩くフラグを消してみる
→「重なる」という判定が1ドット分だったため、一度に5ドット動かすキャラ操作ではすり抜けてしまい失敗
2.キャラの四隅と他キャラの側面から内部5ドット分に当たり判定をつけ、最後に内部に食い込んでいる分だけ補正する
→当たり判定がかぶるところが出てくる?(未実行)
のような感じになっています。
ソースコードですが、上の1から2へと書き換えている途中でごっちゃになっているので
あとで貼り付けようと思います。
どのように考えたらよいか、考え方を教えてください。
④、⑤は後で実装させようとしているものなので、お答えいただかなくても大丈夫です。
長文失礼しました。よろしくお願いいたします!