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

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

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

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

Unity

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

Q&A

0回答

626閲覧

Unityにて画面移動ができません。

marukoro21

総合スコア0

C#

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

Unity

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

0グッド

0クリップ

投稿2021/10/30 05:37

前提・実現したいこと

Unityにて脱出ゲームを作ろうと画面移動を試みているのですができません。
動画や参考資料を見て自分なりに組み合わせました。
パネルを5枚作り、横に四つ並べ下に一つ並べて(下にパネルを一つ置いたのはズーム写真を載せて拡大してるように見せるため)ボタンで移動できるようにしたいのですが、横移動は可能なものの、物を押して下に移動させようとしましたがうまくできません。
エラーメッセージ等は出ないのですが何が原因なのか全くわかりません。
繋げ方が悪いのでしょうか。

発生している問題・エラーメッセージ

ボタン機能を追加した画像を押してもパネルを推移することができない。

該当のソースコード

using UnityEngine;
using System.Collections;

using UnityEngine.UI;

public class GameManager : MonoBehaviour{

//定数定義:壁方向
public const int WALL_FRONT=1;
public const int WALL_RIGHT=2;
public const int WALL_BACK =3;
public const int WALL_LEFT =4;

public GameObject panelWalls;

private int wallNo;

//Use this for initialization

// Start is called before the first frame update void Start() { wallNo=WALL_FRONT; } // Update is called once per frame void Update() { }

//右ボタンを押した
public void PushButtonRight(){
wallNo++; //方向を一つ右に
//左の一つ右は前
if(wallNo>WALL_LEFT){
wallNo=WALL_FRONT;
}
DisplayWall();//壁表示更新
}

public void PushButtonLeft(){
wallNo--; //方向を一つ右に
//左の一つ右は前
if(wallNo<WALL_FRONT){
wallNo=WALL_LEFT;
}
DisplayWall();//壁表示更新
}

//向いている方角の壁を表示
void DisplayWall(){
switch(wallNo){
case WALL_FRONT:
panelWalls.transform.localPosition=new Vector3(0.0f,0.0f,0.0f);
break;
case WALL_RIGHT:
panelWalls.transform.localPosition=new Vector3(-1000.0f,0.0f,0.0f);
break;
case WALL_BACK:
panelWalls.transform.localPosition=new Vector3(-2000.0f,0.0f,0.0f);
break;
case WALL_LEFT:
panelWalls.transform.localPosition=new Vector3(-3000.0f,0.0f,0.0f);
break;
}
}
string currentPanetStr="Panel0";

public void PushButtonChest()
{
this.transform.localPosition=new Vector3(0,-1500);
currentPanetStr="Panel1";
}

}

試したこと

主に参考してるものが2つあるのですが、応用することができず、下のpanel0からのところで別の定義をしています。

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

主にしたいことは画像を押した際に画面を移動したいことです。
背景画像が四つとその中に置いてある物をタッチしたときにアップになった画像のパネルに飛べるようにできるコードが試したり調べてるのですが全くわかりません。

説明が下手で大変申し訳ないです。
よろしくお願いいたします。

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

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

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

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

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

mimi_no_naka

2021/10/30 11:15 編集

やろうとしている事が困難というよりこの質問内容を理解するのが困難なため回答がつき難い気がします 特に下記辺りもう少し簡潔に説明した方が良いです >ボタンで移動できるようにしたいのですが、横移動は可能なものの、物を押して下に移動させようとしましたがうまくできません。 物とは何でしょう? ボタンの事で良いのでしょうか? パネル・ボタン・ボタン機能を追加した画像・物、同一なのか別物なのか不可解です 押すというのも表現が曖昧です クリック・タップの意味で使っているのかと推測は出来ますが普通Unityではプレイヤーなりがオブジェクトに衝突する事を指します >主に参考してるものが2つあるのですが 参考にしていて引用が可能であれば提示した方が回答者も何をしたいのか理解しやすいです >下のpanel0からのところで別の定義をしています。 PushButtonChestの内容はGameManagerがアタッチしているオブジェクトを移動させますが想定している通りなのでしょうか? これが画像を押した際に呼び出す関数という理解で良いのでしょうか? >主にしたいことは画像を押した際に画面を移動したいことです。 画面とは何でしょうか? 上では物と書いてあったのに内容が変わっています。 シーン遷移か何かでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問