質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

1288閲覧

[Unity] アクションゲームでコンボをつなげる方法で適切な実装方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/04/04 10:11

3d game kit lite のアセットを使ってアクションゲームを作りたのですがプレイヤーの攻撃コンボの繋げ方が知りたいです。現在は一回の攻撃のみなのですが適切な連続コンボの実装方法が知りたいです。どんな実装方法が挙げられるのでしょうか?

イメージ説明

cs

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class PlayerController : MonoBehaviour 6{ 7 8 9 bool isAttack1 = false; //攻撃 10 11 12 Vector3 moveVec; 13 const float moveSpeed = 3.0f; //移動速度 14 15 Rigidbody rb; 16 Animator anim; 17 18 19 // Start is called before the first frame update 20 void Start() 21 { 22 rb = GetComponent<Rigidbody>(); 23 anim = GetComponent<Animator>(); 24 25 moveVec = new Vector3(0,0,0); 26 } 27 28 void KeyInput() 29 { 30 //キー入力 31 if (Input.GetKey(KeyCode.W)) 32 { 33 moveVec.z = 1; 34 } 35 else if (Input.GetKey(KeyCode.S)) 36 { 37 moveVec.z = -1; 38 } 39 else 40 { 41 moveVec.z = 0; 42 } 43 44 if (Input.GetKey(KeyCode.A)) 45 { 46 moveVec.x = -1; 47 } 48 else if (Input.GetKey(KeyCode.D)) 49 { 50 moveVec.x = 1; 51 } 52 else 53 { 54 moveVec.x = 0; 55 } 56 57 //マウス左クリック 58 if(Input.GetMouseButtonDown(0)) 59 { 60 isAttack1 = true; 61 } 62 63 } 64 65 // Update is called once per frame 66 void Update() 67 { 68 KeyInput(); //キー入力 69 Move(); //移動 70 AnimationUpdate(); //アニメーション 71 72 73 } 74 75 //移動 76 void Move() 77 { 78 //X、Zのベクトルを得る 79 Vector3 cameraForward = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized; 80 // 方向キーの入力値とカメラの向きから、移動方向を決定 81 Vector3 moveForward = (cameraForward * moveVec.z) + (Camera.main.transform.right * moveVec.x); 82 // キャラクターの向きを進行方向に 83 if (moveForward != Vector3.zero) 84 { 85 transform.rotation = Quaternion.LookRotation(moveForward); 86 } 87 rb.velocity = moveSpeed * moveForward; 88 89 } 90 91 //アニメーション更新 92 void AnimationUpdate() 93 { 94 anim.SetFloat("Speed",rb.velocity.magnitude); 95 96 if (anim.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1 && isAttack1 == true) 97 { 98 isAttack1 = false; 99 } 100 else 101 { 102 anim.SetBool("AttackCombo1", isAttack1); 103 } 104 } 105 106 void FixedUpdate() 107 { 108 109 } 110 111 112 113}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stdio

2021/04/05 03:15

すみません。質問です。 ”コンボ”というものは格ゲーなどのコンボをイメージされていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問