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

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

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

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

Unity3D

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

Unity

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

Q&A

解決済

1回答

1705閲覧

【Unity】座標が変更出来ない

Gurumer

総合スコア33

C#

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

Unity3D

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

Unity

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

0グッド

0クリップ

投稿2020/03/20 04:16

編集2020/03/20 04:33

前提・実現したいこと

座標を変更したいのですが、
startでの座標変更は出来るのですが、
Update内の座標変更が出来ません。。

該当のソースコード

NowRoomNumはRun時、2に変更します。
RoomFlgはRun時、一度チェックを外しfalseにする為、
switch文の中をしっかりと通っています。(Debug確認済)

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class AllManage : MonoBehaviour 6{ 7 //R1 pos -50 3.7 28 rot Y 180 8 //R2 pos 16 3.7 29 rot Y 180 9 //R3 pos 28 3.7 75.8 rot Y 90 10 //R4 pos -15.6 3.7 116.6 rot Y 0 11 //R5 pos -61.4 3.7 77 rot Y 270 12 13 public GameObject PlayerObj; 14 public int NowRoomNum = 1; 15 16 Vector3 worldAngle; 17 public bool RoomFlg = false; 18 // Start is called before the first frame update 19 void Start() 20 { 21 PlayerObj.transform.position = new Vector3(-50, 3.70f, 28); 22 worldAngle = PlayerObj.transform.eulerAngles; 23 worldAngle.y = 180; 24 PlayerObj.transform.eulerAngles = worldAngle; 25 } 26 27 // Update is called once per frame 28 void Update() 29 { 30 if (RoomFlg == false) 31 { 32 switch (NowRoomNum) 33 { 34 case 1: 35 PlayerObj.transform.position = new Vector3(-50, 3.70f, 28); 36 worldAngle = PlayerObj.transform.eulerAngles; 37 worldAngle.y = 180; 38 PlayerObj.transform.eulerAngles = worldAngle; 39 break; 40 case 2: 41 PlayerObj.transform.position = new Vector3(16, 3.70f, 29); 42 worldAngle = PlayerObj.transform.eulerAngles; 43 worldAngle.y = 180; 44 PlayerObj.transform.eulerAngles = worldAngle; 45 Debug.Log("ON"); 46 break; 47 48 } 49 RoomFlg = true; 50 } 51 } 52}

補足情報(FW/ツールのバージョンなど)

Unity 2019.1.0f2

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

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

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

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

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

fiveHundred

2020/03/20 04:29

「Debug確認済」とのことですが、「NowRoomNumが1のとき」にしかDebug.Log()が無いですが、意図したものですか? 「NowRoomNumはRun時、2に変更します。」とのことなので、2のときに確認しないといけないと思いますが。
Gurumer

2020/03/20 04:33

あ、それは意図したものです。すみません。
guest

回答1

0

ベストアンサー

書かれている通り、case2が通っている前提で話します。
このコードを実際に使ってみましたが問題なく動きました。

これ以外のコードがプレイヤーの位置を変更している、ということはないですか?

投稿2020/03/20 15:00

edo_m18

総合スコア2283

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

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

Gurumer

2020/03/21 06:06

あぁ!!プレイヤーを動かす際に座標を変更していました。。 お騒がせしてすみません... ありがとうございます。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問