#現状
Macのunity&VScodeで下記のスクリプトを用いて物体(player)を左右に移動させようとしているのですが、updateメソッド中のif文(LeftArrow)の中の"transform.left"のleft部分にのみ赤色の波線が引かれエラーが出ます。
ちなみにif文(RightArrow)中の"right"はなんの問題もありません。
leftの部分をxに変えてもエラーになるため現状右にしか動かせない物体になってしまいます。
{
public float MoveSpeed;
// Start is called before the first frame update
void Start()
{
} // Update is called once per frame void Update() { if (Input.GetKey(KeyCode.RightArrow)) { transform.position += transform.right * MoveSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.LeftArrow)) { transform.position += transform.left * MoveSpeed * Time.deltaTime; } }
}
#エラー文
'Transform' does not contain a definition for 'left' and no accessible extension method 'left' accepting a first argument of type 'Transform' could be found (are you missing a using directive or an assembly reference?) [Assembly-CSharp]
public class playerController : MonoBehaviour
#達成したいこと
playerを左右に移動させることができればいいのですが別の方法で対処という形だけではなくleftを入力できるようにはしたいです。
rightはいけてleftはいかないという問題は他のスクリプトを書いているときも起こったのでこのままだと一生left打てないことになるのでそれは避けたいです。
#試してみたこと
一応Googleで検索はかけてみたもののこんな事例は発見出来ずじまいでした。
ちなみに新しく買ったMacで起こった問題なのでVScodeの設定にミスが生じていることも考えております。今まではwindowsPCのVScodeを使っていたのですがこのようなエラーはなかったのでMacのVSあるいはunityに問題があるのかなとも思っております。
MacのVSには他にも不可解な点があり、windowsでは使いやすかったインテリジェンスもmacでは見当違いなもの(別の言語っぽい?)ばかり表示してくるのでインテリジェンスを全く使えない状況でもあります(同じ拡張機能は入れているのですが、、)。
そこでMacとwinのVSの違いなどを調べてみましたが特に原因を究明する解決策には至りませんでした。
なかなかわかりづらいエラーかもしれませんが解決につながる回答があれば少しでもいただきたいと思っておりますのでよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/28 07:30