0
ユニティプロジェクト用の新しい要素を作成しようとしていますが、私はオブジェクト全体をUIオブジェクトとしてレンダリングする必要があります。これまでの私の現在のスクリプト。キャンバスの親としてオブジェクトを作成する方法
using UnityEditor;
using UnityEngine;
public class OptionSwitch : MonoBehaviour {
[MenuItem ("GameObject/UI/Switch")]
static void Switch(){
GameObject go = new GameObject("switch");
go.transform.parent = Selection.activeTransform;
go.transform.localPosition = Vector3.zero;
}
}
アクティブなオプションを示すテキストボックスの両側にあるボタンが付いたオプションスイッチになります。
私はより多くの研究を行い、このコードを思いついた。
using UnityEditor;
using UnityEngine;
public class OptionSwitch : MonoBehaviour {
[MenuItem ("GameObject/UI/Switch")]
static void Switch(){
if (GameObject.Find ("Canvas") != null) {
// Define Components
GameObject Canvas = GameObject.Find("Canvas");
GameObject Switch = new GameObject("Switch");
GameObject Previous = new GameObject("Previous Button");
GameObject Next = new GameObject("Next Button");
GameObject Text = new GameObject("Textbox");
// Place Switch
Switch.transform.parent = Canvas.transform;
Switch.transform.localPosition = Vector3.zero;
// Place Previous Button
Previous.transform.parent = Switch.transform;
Previous.transform.localPosition = Vector3.zero;
// Place Text Field
Text.transform.parent = Switch.transform;
Text.transform.localPosition = Vector3.zero;
// Place Next Field
Next.transform.parent = Switch.transform;
Next.transform.localPosition = Vector3.zero;
}
}
}
これで今はどうなっていますか?何が効果があり何が効果がありませんか?また、明確にするために、作成された新しいGameObjectをUI Canvasの下に置くか、UI Canvasの親にする必要がありますか?なぜあなたは 'Selection.activeTransform'を持っていますか?あなたの質問についてはあまりにも多くの質問があります。 – Programmer
@Programmerオブジェクト「スイッチ」をUIキャンバスの子にしたいのですが、名前でオブジェクトを見つけることができますが、名前が変更されてもキャンバスを見つけるようにデザインしたいと思います何がうまくいかないと、私は探し続けてオブジェクトをキャンバスの子にする方法を見つけましたが、キャンバスが「キャンバス」と呼ばれていないときは見つけられませんでした。 – Jdoonan
あなたのコメントはあなたの質問よりもあなたの問題を実際に説明しています。私の答えをチェックしてください。 – Programmer