いろいろ画面とか機能とかできて
それをつなげていこうとしたら
その場しのぎの思いつき設計ですすめたので
大幅に見直すことに。。。
いわれるがまま修正していったら
動いていた画面や機能が動かなくなり
AIとのやりとりにつかれてきた。
StudioR
AIを使ってドラクエみたいなゲームを作ってみる③
AIを使ってドラクエみたいなゲームを作ってみる②
AIにいわれるがままに
🎮 Step 1:Unityのインストール(最短)
すでに済んでいたらスキップしてOK。
✔ 必要なもの
-
Unity Hub
-
Unity Editor(推奨:LTS版 例:2022.3 LTS)
-
Android Build Support
(Unity Hub → Installs → Editor 右側の方から “Add modules”)
🎮 Step 2:最初の「ドラクエ風2Dプロジェクト」を作る
Unity Hub → 「New Project」
テンプレート:2D Core を選択
プロジェクト名:MyFirstRPG
🎮 Step 3:まず“動く主人公” を作ってみる
C#を触ったことがなくても大丈夫!
これをコピーして Unity に入れたら動きます。
🧙【サンプル①】主人公を上下左右に動かすC#スクリプト
① Unityで作業する
-
Projectウィンドウで右クリック
→ Create → C# Script
→ 名前:PlayerMove -
キャラクター用のスプライト(画像)を Hierarchy にドラッグ(名前:
Player) -
PlayerMove.cs を Playerにドラッグしてアタッチ
② PlayerMove.cs の中身をこれに差し替える
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
public float speed = 3f;
private Vector2 input;
void Update()
{
// 入力取得(WASD / 矢印キー)
input.x = Input.GetAxisRaw("Horizontal");
input.y = Input.GetAxisRaw("Vertical");
// 移動
transform.Translate(input * speed * Time.deltaTime);
}
}
これで ↑↓←→でプレイヤーが動くドラクエ風の基礎が完成!
🎮 Step 4:NPC に話しかける仕組みを追加
次に「会話」を作ります。
🧙【サンプル②】話しかけるとテキストが表示される
① UI準備
Unity 上部メニュー
GameObject → UI → Text (TMP) を追加
(画面にテキストが出る)
Textの名前を MessageText に変更
Text の中身は空にしておく(表示なし)
② 会話スクリプトを作る
TalkNPC.cs を作成して中身を差し替え
using UnityEngine;
using TMPro;
public class TalkNPC : MonoBehaviour
{
public string message = "こんにちは、旅の人!";
public TextMeshProUGUI messageText;
void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
messageText.text = message;
}
}
void OnTriggerExit2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
messageText.text = "";
}
}
}
③ NPCに設定
-
NPCオブジェクトに BoxCollider2D をつける(Trigger にチェック)
-
NPC に
TalkNPCをアタッチ -
MessageText に UI の Text (TMP) をドラッグ
→ プレイヤーが近づくとセリフが出る!
これで 村人との会話が完成 ✨
🎮 Step 5:スライムと戦闘を作る(最小)
次はドラクエっぽい ターン制の戦闘 を作ります。
ここもコピペで動きます。
🧙【サンプル③】シンプルなターン制バトル
① BattleManager.cs を作る
using UnityEngine;
using TMPro;
public class BattleManager : MonoBehaviour
{
public TextMeshProUGUI battleText;
int playerHP = 20;
int slimeHP = 10;
void Start()
{
battleText.text = "スライムがあらわれた!";
}
public void OnAttackButton()
{
slimeHP -= 4;
battleText.text = "ゆうしゃのこうげき! スライムに4ダメージ!";
if (slimeHP <= 0)
{
battleText.text = "スライムをたおした!";
return;
}
Invoke("SlimeAttack", 1f);
}
void SlimeAttack()
{
playerHP -= 3;
battleText.text = "スライムのこうげき! ゆうしゃは3ダメージ!";
if (playerHP <= 0)
{
battleText.text = "ゆうしゃはたおれた…";
}
}
}
② Attackボタンを配置
-
UI → Button (TMP)を作成(名前:AttackButton) -
OnClick に
BattleManager → OnAttackButtonを登録
→ ボタン連打でターンが進む超シンプル戦闘が完成!
📱 Step 6:Androidに書き出して動かす(最短)
-
File → Build Settings → Android を選択 → Switch Platform
-
Build → .apk を作成
-
Android端末に転送してインストール
これで あなたが作った“ドラクエ風RPG”がスマホで動く!
🚀 次はどう進みたい?(選択式)
あなたの進みたい方向に合わせて、
より具体的なプロジェクト・コード・作業手順を作成します。
どれにしますか?👇
1️⃣ マップ(タイルマップ)を作れるようになりたい
2️⃣ プレイヤーの歩行アニメ(上下左右)をつけたい
3️⃣ 戦闘をもっとドラクエ風にしたい(コマンド式にする)
4️⃣ すべてまとめて「ひな形プロジェクト」一式がほしい
5️⃣ C#の超基礎から教えてほしい(Unity初心者用)
どれでもOK!番号で答えてください 😊
-
広告について 本アプリでは、広告配信ツールとしてAdMob(Google Inc.)を使用しており、AdMobがご利用者の情報を自動取得する場合がございます。取得する情報、利用目的、第三者への提供等につきましては、以下の広告配信事業者のアプリケーション・プライバシーポリシーの...
-
TradingViewですべてのマーケットを追跡
-
時間がだいぶたってしまいました(かなり遊び倒したので箱がちょっと傷んでます)が なんと ヤマダ電機さんから マイクラのレゴ(しかもかなりでっかいの!)あたりました!!!! これはさすがにすごい。 #マイクラ #レゴ #懸賞
-
No.11 ねこラン https://play.google.com/store/apps/details?id=com.ra.studiora11 StudioR: (アプリ) No.11 ねこラン (studio-r010101.blogspot.com) No.10 縁...
-
1. 年末調整とは? 年末調整は、給与所得者が年間の税額を調整するための手続きです。給与から源泉徴収された税額と、実際に納めるべき税額に差がある場合、その差額を年末調整で調整します。正しく手続きを行うことで、過剰に支払った税金が戻ったり、不足分を支払うことになります。 2. ...