投稿

ラベル(距離)が付いた投稿を表示しています

おすすめ!自作ゲーム!

【バイサバ!】溜めて、狙って、ぶっ飛ばせ!チャージで全て薙ぎ払うタワーディフェンス!

イメージ
バイサバをBOOTHでも販売開始しました! サーマーセールも合わせて開催! 今なら 50%OFF! の 500円で購入可能 に! ダウンロードは →  https://yamatogamelabs.booth.pm/items/8407425   DLsiteで販売しています。(Bloggerの規約上、リンクは貼れません。 Bye!Bye!Survivor!  もしくは  RJ01621439  で検索してください) デモ版もあるのでまずはお試しから! ■ ゲーム概要 溜めて、狙って、ぶっ飛ばせ! 右クリック長押しでチャージ! 溜めるほど、攻撃がどんどんパワーアップ! 攻撃力・攻撃サイズ・Hit数・クリティカルまで強化される、強力なチャージ攻撃で、押し寄せるスライムをまとめて吹き飛ばそう! 敵をピンポイントで狙い撃つか、 最大までチャージして敵の群れを一気に薙ぎ払うか。 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! ■ このゲームの魅力 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! 基本操作は左右移動だけ。 攻撃は自動で行われるので、難しい操作は必要ありません。 そこに加わるのが、強力なチャージ攻撃。 チャージするほど攻撃が強くなり、 大きさやHit数も増加! 大量の敵をまとめて貫通させたり、 強力な一撃で狙った敵を撃ち抜いたり。 いつ撃つか、どこを狙うかはあなた次第! ■ クリスタルを守り抜け! スライムたちは、あなたではなくクリスタルを狙って押し寄せてきます。 敵がクリスタルに到達するとダメージを受け、 HPが0になるとクリスタルが大爆発! そのまま空の彼方へ吹き飛ばされてゲームオーバー! 攻撃だけでなく、クリスタルのHP管理も重要です。 ボスを倒してステージを突破! ステージの最後には強力なボスが登場。 大量のHPを持ち、強力な攻撃を繰り出してきます。 さらに、ボスがクリスタルに到達すると即ゲームオーバー! 敵の攻撃は、こちらの攻撃で相殺することも可能。 迫りくる敵と弾をまとめて薙ぎ払い、 ボスがクリスタルへ到達する前に撃破しよう! ■ オブ...

【Unity】土管に着地した時のプログラム【ぴぺっと制作記録6】

イメージ
キャラクターが土管に着地した時、 真ん中に近いと、「Excellent!」 少し離れると、 「Good!」 の演出を考えてみました! 土管に着地した時のプログラムのプログラムです。 単純にプレイヤーの位置と土管の位置が どれくらい離れているかで判定しています。 Unityの標準で使える、「 Vector3.Distance 」で 距離 がわかります。 今回はx座標のみでいいので、y座標はどちらも0にして、 影響をでないようにしてあります。 private void OnTriggerEnter2D(Collider2D other) { // 土管との判定 if (other.gameObject.CompareTag("Pipe")) { // x座標が近いとExcellent、遠いとGood Vector3 pipePos = other.gameObject.transform.position; pipePos.y = 0; Vector3 pPos = transform.position; pPos.y = 0; float d = Vector3.Distance(pPos, pipePos); if (d < 0.3f) { // Excellent } else { // Good } } } OnTriggerEnter2Dなどの当たり判定の部分で使います。 次は、評価に応じた演出の追加をば!

Unityで距離に応じてサイズを変更する

イメージ
こちらのゲーム で迫りくるモンスターの表現として 中心から遠ざかるとサイズを大きくする、ということをやってみました ↑モンスターやキャラクターが 中心に近いと小さく なり、 遠い位置なら大きく 表示するプログラムです using System.Collections.Generic; using UnityEngine; // 自分で作ったもの namespace MyWorks { public class DistanceScale : MonoBehaviour { // 2つのオブジェクトの距離からサイズを返す // <param name="target" />ターゲットの位置 // <param name="myPos" />自分の位置 public static Vector3 DScalse(Vector3 target, Vector3 myPos) { // z軸は0にしておく target.z = 0; myPos.z = 0; // 距離に応じてサイズを変更する float distance = Vector3.Distance(target, myPos); Vector3 setScale = new Vector3(1, 1, 1) * distance / 2; // 最大最小 if (setScale.x < 1f) setScale.x = 1f; if (setScale.y < 1f) setScale.y = 1f; if (setScale.x > 7) setScale.x = 7; if (setScale.y > 7) setScale.y = 7; setScale.z = 1; return setScale; } } } やっていることはシンプルです Vector3.Distanceで ターゲット と 自分の距離 を測って それをスケールに放り込んでいます 使い方は↓のように namespaceを使っています using MyWorks; // 自分が必...