ヤバイラインを攻める

この記事は約3分で読めます。

・すーぱーどろいどくん20140401版

・移動床に乗った際にドロイドくんも一緒に移動するように設定
・アレみたいなパズル要素を導入(見てからのお楽しみ)

移動床に乗るとドロイドくんも同じように移動させたいと思っていたがやりかたが分からず、フォーラムを参考にやってみたもののうまくいかず、小一時間ぐらい詰まっていたがようやくできた。あ^~ちかれた。ようは移動床に乗るとドロイドくんは移動床の子になり、一緒に同じ量を移動するだけ。void OnCollisionStay2Dはvoid OnCollisionExit2Dで解除できるはずなのだが、うちの環境では一度、子になるとなったままだったので、void OnCollisionEnter2Dとvoid FixedUpdateのジャンプ時に子を解除させることで理想通りになった。void OnCollisionExit2Dは入れても変わらなかったので入れてない。

クッソ汚いスクリプト
void FixedUpdate ()
{
if (jump) {
anim.SetTrigger(“Jumped”);
rigidbody2D.AddForce (new Vector2 (0f, jumpForce));
jump = false;
transform.parent = null; //ジャンプ実行時に子を解除
}
}

void OnCollisionEnter2D(Collision2D col){ //接触時の関数 Collision2Dをcolに定義
if (col.gameObject.tag == “GameOverFloor”) { //もしGameOverFloorタグを持つgameObjectに接触したら
Application.LoadLevel (“droid”); //droidレベルを読み込み
}

if (col.gameObject.tag == “Platform”) { ///もしPlatformタグを持つgameObjectに接触したら
transform.parent = col.gameObject.transform; //そのgameObjectの子になる
} else { //そうじゃない場合
transform.parent = null; //子を解除
}
}

void OnCollisionStay2D(Collision2D platform) { //接触中の関数 Collision2Dをplatformに定義
if (platform.gameObject.tag == “Platform”) { //Platformタグを持つgameObjectに接触している間は
transform.parent = platform.gameObject.transform; //そのgameObjectの子になる
}
}


物理を使ったパズルはやっぱ面白いよなぁということでアレを模倣。もしもしでは移動しつつエイミングするのは厳しいので穴は固定です。ただ、答えはアクション次第でどうにでもなる方が私は好みなので、もしこれを活かすならそういう方向性になりそう。答えがひとつしかないのはキライなんだよね。1+1はRandom.valueくらいでいってほしい。

Limboで水に浮かんだ木箱に乗るとジャンプできない、あの解せない感じがほんとイヤだった。現実的には水に浮かんだ不安定な木箱からジャンプするのは不可能だったとしてもアクションゲームとしては飛べて欲しかったというか、少しくらいは水に入っても泳いで欲しかったというか。ようはアクションもパズルのひとつなわけで答えがひとつしかない、少ないってのはレベルが低いと思うんだよね。だからなるべくそういう風にはなりたくない。といっても死に覚えゲーだとそうなりそうですね?

コメント

  1. 推定クリア位置にチョコクッキー☆を置いて別物アピールをしよう(提案)
    安全弁は寛容だろうから、ま多少はね?

    王道的な演出でそれしかダメというのは判りますが
    どうでもいい道中なのに突破方法が一つに限られていてかつ超難度とかやめたくなりますよ~ゲイ夢ぅ~
    ヌッ(跳躍音)

  2. お久しぶりです。携帯の方にメール送っています。

  3. そうだな~、クリアの目印はどうすかっかな~俺もな~。
    跳躍音もそのうち入れるから見とけよ~見とけよ~。

タイトルとURLをコピーしました