投稿

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

おすすめ!自作ゲーム!

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

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

【Unity】プレイヤーが進んでいる方向に向きを変えるプログラムのメモ

イメージ
 Unityでプレイヤーの向きを変えるとき、 進行方向にキャラの向きを変えたかったので。   こんな感じになります↓       前のポジションを記録しておいて、今のポジションから引けばいいらしい   private Vector3 oldPos; void Update() { // 向き Vector3 rot = transform.position - oldPos; oldPos = transform.position; if (rot.magnitude > 0.05f) { transform.rotation = Quaternion.LookRotation(rot); } } 意外と簡単でした♪  

Unityで向いている方向に弾丸を飛ばす(2D)

イメージ
向いている方向に移動させたい! そう思うことがゲーム制作でてくるので、 まとめておきました 飛ばすのはこいつ、実は弾丸 うちのゲームでよく使うこいつ こいつは弾丸役のモンスターとなっています 弾丸なので飛ばさなければいけないんですが、 これが初心者の私には難しいものでした ↑こんな感じに 自分の向きベクトルを取得 解決方法は、 自分の向きベクトルを取得 すればいいとのこと ↓の記事をみると一発で解決しました! こんな感じで使ったよー 向きの指定は生成する方で決まっているので、 Rigidbody2DにAddForceで飛ばしました 弾丸のスクリプト using System.Collections; using System.Collections.Generic; using UnityEngine; using MyWorks; // 自分用のまとめ // 弾丸の移動 public class Bullet : MonoBehaviour { private Rigidbody2D rd2D = default; // Start is called before the first frame update void Start() { rd2D = GetComponent<rigidbody2d>(); Vector3 dir = Rotation.AngleDir(transform); rd2D.AddForce(dir * 200); } void OnBecameVisible() { // 表示されるようになった時の処理 } void OnBecameInvisible() { // 表示されなくなった時の処理 Destroy(gameObject); } } using MyWorks;は、 自分がよく使うプログラムをまとめています↓ using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; namespace MyWorks { ...

Unityでクリックした位置に移動するプログラム

イメージ
おどろき、おののき、マジ泣き、めがみちゃん! でも使った Unityでマウスをクリックした位置にキャラクターを動かすプログラムです ゲーム制作でよく使いそうなので、まとめておきました あまり難しく考えず、 → マウスクリックの位置を取得 → 動け! というプログラムにしました ↓以下がソースとなります using System.Collections; using System.Collections.Generic; using UnityEngine; public class player : MonoBehaviour { private Vector3 setTapPos; private float speed = 7; void Update() { // 移動する Move(); } // タップした位置に移動する private void Move() { // ボタンを押したとき if (Input.GetMouseButtonDown(0)) { setTapPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); } // ボタンを押しているとき if (Input.GetMouseButton(0)) { setTapPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); setTapPos.z = 10;// カメラとプレイヤーの距離 // Lerpで動かす transform.position = Vector3.Lerp(transform.position, setTapPos, speed * Time.deltaTime); } } } スクリーン座標をワールド座標へ変換 マウスクリックした位置はスクリーンの座標ですが、 キャラの操作はワールド座標で動かさなければならいので Camera.main.ScreenToWorldPoint(Input.mousePosition) を使い、マウスの位置を取得します これがややこしくて、 めっちゃめっちゃ時...