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

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

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

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

Q&A

1回答

2721閲覧

Syntax error, ',' expected エラーが出てしまいました

suketanien

総合スコア0

Unity3D

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

0グッド

0クリップ

投稿2022/09/24 00:03

Assets\CameraManager.cs(56,38): error CS1003: Syntax error, ',' expected
Assets\CameraManager.cs(60,10): error CS1003: Syntax error, ',' expected
Assets\CameraManager.cs(72,10): error CS1003: Syntax error, ',' expected
この三つのエラーが出てしまいました
指定された場所を見ても三か所とも , はついていますし、、、

Windows:Unity 2021.3.10f1 Personal <DX11>

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraManager : MonoBehaviour
{
public static CameraManager Instance { get; private set; }

/// <summary>現在のカメラ位置名</summary> public string CurrentPositionName { get; private set; } public GameObject ButtonLeft; public GameObject ButtonRight; public GameObject ButtonBack; /// <summary> /// カメラ位置情報クラス /// </summary> private class CameraPositionInfo { /// <summary>カメラの位置</summary> public Vector3 Position { get; set; } /// <summary>カメラの角度</summary> public Vector3 Rotate { get; set; } /// <summary>ボタンの移動先</summary> public MoveNames MoveNames { get; set; } } /// <summary> /// ボタン移動先クラス /// </summary> private class MoveNames { /// <summary>左ボタンを押したときの位置名</summary> public string Left { get; set; } /// <summary>右ボタンを押したときの位置名</summary> public string Right { get; set; } /// <summary>下ボタンを押したときの位置名</summary> public string Back { get; set; } } /// <summary> /// 全カメラ位置情報 /// </summary> private Dictionary<string, CameraPositionInfo> _CameraPositionInfoes = new Dictionary<string, CameraPositionInfo> { { "Door", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,0,0), MoveNames = new MoveNames { Left = "RoomLeft", Right = "RoomRight", } } }, { "RoomLeft", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,-33,0), MoveNames = new MoveNames { Right = "Door", } } }, { "RoomRight", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,33,0), MoveNames = new MoveNames { Left = "Door", } } }, }; // Start is called before the first frame update void Start() { Instance = this; ChangeCameraPosition("Door"); ButtonBack.GetComponent<Button>().OnClick.AddListener(() => { ChangeCameraPosition(_CameraPositionInfoes[CurrentPositionName].MoveNames.Back); }); ButtonLeft.GetComponent<Button>().OnClick.AddListener(() => { ChangeCameraPosition(_CameraPositionInfoes[CurrentPositionName].MoveNames.Left); }); ButtonRight.GetComponent<Button>().OnClick.AddListener(() => { ChangeCameraPosition(_CameraPositionInfoes[CurrentPositionName].MoveNames.Right); }); } /// <summary> /// カメラ移動 /// </summary> /// <param name="positionName">カメラ位置名</param> public void ChangeCameraPosition(string positionName) { if (positionName == null) return; CurrentPositionName = positionName; GetComponent<Camera>().transform.position = _CameraPositionInfoes[CurrentPositionName].Position; GetComponent<Camera>().transform.rotation = Quaternion.Euler(_CameraPositionInfoes[CurrentPositionName].Rotate); } // Update is called once per frame void Update() { }

}

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

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

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

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

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

ozwk

2022/09/24 04:21

エラーが出ている行はどこですか? コメントで示してください
suketanien

2022/09/24 05:29

(56,38)(60,10)(72,10)とかは56行目の38文字目って意味じゃないんですか? すみませんほんとに初心者で、、、
ozwk

2022/09/24 05:48 編集

コードの1行目から貼ってあるとも限らないので 56行目がコードのどこなのか質問文を読んでいる人にはわからないのです そして仮にちゃんと1行目から貼ってあっても、いちいち56行も数えるのは大変なのです
suketanien

2022/09/24 08:05

{ "Door", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,0,0), MoveNames = new MoveNames { Left = "RoomLeft", ←ここ(56,38) Right = "RoomRight", } } }, ←(60,10) { "RoomLeft", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,-33,0), MoveNames = new MoveNames { Right = "Door", } } }, ←(72,10) { "RoomRight", //位置名 new CameraPositionInfo { Position = new Vector3(0,2,-3), Rotate = new Vector3(0,33,0), MoveNames = new MoveNames { Left = "Door", } } }, 多分ここのことだろうと思いますけど、行増やしてもエラーの示すところが変わらなかったのでよくわかってないです、、、
ozwk

2022/09/24 08:48

行を増やしたというのは56行目より上に改行を入れたということですか? 変わらなかったというのは行数がそのまま、例えば56のままということですか?
suketanien

2022/09/24 08:50

はい、改行を入れても56も60も72も変わりませんでした
ozwk

2022/09/24 11:34

ファイルの先頭に明らかにエラーになる行を書いてみてちゃんとエラーになりますか? hogeとか書いてみるとか ; を抜いてみるとか
guest

回答1

0

MoveNames = new MoveNames { Right = "Door", }

なんでここにコンマが。
なんでここで中括弧が。

#他も同様

投稿2022/09/24 00:06

編集2022/09/24 00:13
y_waiwai

総合スコア87774

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

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

suketanien

2022/09/24 02:47

コンマと中括弧を消せばいいのですか? すみません全くの初心者なのでどうすればいいか教えていただけませんか?
Zuishin

2022/09/27 07:04

なんでって、中カッコは初期化子だからで、末尾のカンマは許されているので問題ありません。 質問者さん、この回答者は初心者どころか C# を全く知らないのにこういうアホな回答を量産している人なので、気にしないのがいいと思います。ozwk さんの方を頼りましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問