レス数:1 / 状態:未解決 / No:139 / ATOM
1
日付:2014/08/18(月)12:13:16
ID:4StcJOAsL/Tc
現在 マ○オのような2D横スクロールゲームを作っています。
AS3で 配列を使って呼び出した2Dゲームの足場と
主人公とのあたり判定の計算がうまくいかず、困っています。
コードは以下の通りです。
for (var i:uint = 0; i < 1; i ++){
loopgamov1:for (i = 0; i < block_mc_array.length; i ++)
{
if (block_mc_array[i].u.hitTestObject(pl.st))
{
pl.y = block_mc_array[i].y - 25;
jpflag = false;
st = true;
}else{
st = false;
}
}
}
コードの内容としては、
ブロックのMCの中の U というブロックの中の上の方に
設置されたMCに 主人公のPLの足に当たると
ブロックの中心から ブロックの半分の高さだけPLを上に移動させ、
ジャンプスイッチをFalse にして
地面に立っているスイッチを True にしています。
しかし、ジャンプをしないでブロックから足を踏み外した場合に
地面に立っているスイッチを False にして 落下させる事は出来ますが、
画面に表示しているブロックの数は 1つ以上なので、
常にブロックから足を踏み外し、落下と着地を繰り返し、
ジャンプが出来なくなってしまいます。
このように複数のMCを使い、どれか1つでも足場を触れていると
落下をしなくする処理は実現可能でしょうか?
長文と分かりにくくて申し訳ございません。
どなたか よろしくお願いします。
AS3で 配列を使って呼び出した2Dゲームの足場と
主人公とのあたり判定の計算がうまくいかず、困っています。
コードは以下の通りです。
for (var i:uint = 0; i < 1; i ++){
loopgamov1:for (i = 0; i < block_mc_array.length; i ++)
{
if (block_mc_array[i].u.hitTestObject(pl.st))
{
pl.y = block_mc_array[i].y - 25;
jpflag = false;
st = true;
}else{
st = false;
}
}
}
コードの内容としては、
ブロックのMCの中の U というブロックの中の上の方に
設置されたMCに 主人公のPLの足に当たると
ブロックの中心から ブロックの半分の高さだけPLを上に移動させ、
ジャンプスイッチをFalse にして
地面に立っているスイッチを True にしています。
しかし、ジャンプをしないでブロックから足を踏み外した場合に
地面に立っているスイッチを False にして 落下させる事は出来ますが、
画面に表示しているブロックの数は 1つ以上なので、
常にブロックから足を踏み外し、落下と着地を繰り返し、
ジャンプが出来なくなってしまいます。
このように複数のMCを使い、どれか1つでも足場を触れていると
落下をしなくする処理は実現可能でしょうか?
長文と分かりにくくて申し訳ございません。
どなたか よろしくお願いします。
このスレッドについて
質問の状態 : | 未解決 |
投稿開始日 : | 2014/08/18(月)12:13:16 |
投稿終了日 : | 2014/08/25(月)12:13:18 |
投稿者 : | |
レス総数 : | 1 |
スレッド番号 : | 139 |