最近unity2dで横スクロールアクションを勉強していて
今移動するなどのアニメーションを動かそうとしています
しかし待機状態から移動するときのアニメーションに移行するスクリプトがうまくいきません
誰か教えてください
error CS0411: The type arguments for method `UnityEngine.Component.GetComponent<T>()' cannot be inferred from the usage. Try specifying the type arguments explicitlyというエラーが出ます
プログラムはこんな感じです
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody2D))]
[RequireComponent(typeof(BoxCollider2D))]
public class UnityChanController : MonoBehaviour {
public Rigidbody2D cRigidbody2D
{
get
{
if(!_cRigidbody2D)
_cRigidbody2D = rigidbody2D;
return _cRigidbody2D;
}
}
Rigidbody2D _cRigidbody2D;
public Transform cTransform
{
get
{
if(!_cTransform)
_cTransform = transform;
return _cTransform;
}
}
Transform _cTransform;
public Animator cAnimator
{
get
{
if(!_cAnimator)
_cAnimator = GetComponent();
return _cAnimator;
}
}
Animator _cAnimator;
public float moveSpeed = 5;
public float jumpForce = 1000;
float InputHorValue;
bool isGrounded;
bool canJump;
void Update()
{
MecCheck();
InputCheck();
}
void InputCheck()
{
InputHorValue = Input.GetAxisRaw("Horizontal");
if(isGrounded && Input.GetButtonDown("Jump")) canJump = true;
}
void MecCheck()
{
bool isRunning = InputHorValue != 0;
cAnimator.SetBool("isRunning",isRunning);
}
void FixedUpdate()
{
Move();
Jump();
}
void Move()
{
if((cTransform.localScale.x > 0 && InputHorValue < 0)
|| (cTransform.localScale.x < 0 && InputHorValue > 0))
{
Vector2 temp = cTransform.localScale;
temp.x *= -1;
cTransform.localScale = temp;
}
cRigidbody2D.velocity = new Vector2(moveSpeed * InputHorValue,
cRigidbody2D.velocity.y);
}
void Jump()
{
if(canJump)
{
canJump = false;
isGrounded = false;
cRigidbody2D.AddForce(Vector2.up * jumpForce);
}
}
void OnCollisionEnter2D(Collision2D col)
{
if(col.gameObject.tag == "Ground")
isGrounded = true;
}
}
No.2ベストアンサー
- 回答日時:
~~~~~~~~~~
public Animator cAnimator
{
get
{
if(!_cAnimator)
_cAnimator = GetComponent();
return _cAnimator;
}
}
Animator _cAnimator;
~~~~~~~~~~
↓
~~~~~~~~~~
public Animator cAnimator
{
get
{
if(!_cAnimator)
_cAnimator = GetComponent<Animator>();
return _cAnimator;
}
}
Animator _cAnimator;
~~~~~~~~~~
こうするといいかも!?
No.3
- 回答日時:
ざっと見ただけですが、GetComponentの総称型にクラスを指定する、ということでは。
_cAnimator = GetComponent();
↓
_cAnimator = GetComponent<Animator>();
他にもプロパティでチェックしているフラグ変数はどうなっているのかとか、プロパティはいつ初期化されてるのかとか、不明なところがあるので動かしてはいませんが……。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- VR・AR YouTubeとかにある普通の2Dの映像を、3DのVRゴーグルで見ても違和感なく2Dの映像として見え 2 2023/07/20 10:53
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- タブレット 2Dゲームが動くタブレットの中で、おすすめのタブレットはありますか? 1 2022/07/16 23:46
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- その他(映画) 3D上映がある映画作品で、2Dのスクリーン、3Dのスクリーン両方ある劇場もありますが、客側の2Dで観 2 2022/12/24 01:41
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
大量のデータを読み込んで表示...
-
C#でのWNetAddConnection3の使...
-
Processingでマウスクリックで...
-
Thread.sleepのInterruptedExce...
-
【java】座標の値をテキストフ...
-
Javaでパラパラアニメを作成す...
-
Visual C♯ フォーム間での値の...
-
文字コードチェックについて
-
【C#】ソースコードをファイル...
-
iアプリ 複数パネル切替時の変...
-
配列の受け渡し
-
Javaの課題について質問です。...
-
フェードアウト時にぶちっと画...
-
ジャバスクリプトについて。
-
[JAVA]try 内の変数を外で!?
-
ダブルクォーテーションのrepla...
-
1~100までの数字を表示し、か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
C#で、あるクラスのメンバーす...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
unityでのC++エラーの原因がわ...
-
ボタンの複数割り当てについて
-
C#で別のFormへ複数の値を返そ...
-
エンターキーを押すとOKボタン...
-
LVM_SETITEMSTATEでListViewの...
-
ユーザーコントロールを動的に...
-
[C#.net]スレッド化された別フ...
-
C# 矢印キーの取得
-
C#から、C++で作成したdll内の...
-
C# DataGridView列カスタマイズ
-
C#でキーイベントが発生しない...
-
Thread.sleepのInterruptedExce...
-
C#でのオブジェクトのコピーに...
-
C# 半角カナの文字化けについて
-
文字列の置換
おすすめ情報