【ハルシオンブログ】プレハブを使ってオブジェクトを好きな場所に出す方法。位置調整とかめんどいっすよね・・・・
おはようございます。坂内っす。
今日は台風15号のせいで寝不足でございます。
さてUnityの話。
出したい場所にオブジェクトを出す方法について。
【前提】
[画面に出す石の絵のプレハブ]

石のSpriteをつけたuGUIのImageプレハブです。
[画面構成]

[SpawnManager.cs]
今はまだこれだけ。
【出したい場所にオブジェクトを出す方法 其の1】
座標をそのまま書いちゃう方法。

なんかポジション書くのもいいんだけど、どこに出すのかの座標をいちいちやるのはめんどいですよね。
仕様でちゃんと座標指定されているのならばあれですが・・・
あんまり数値をコードに書きたくないっすね。
positionをpublicにしてアサインするのも手ですが。
【出したい場所にオブジェクトを出す方法 其の2】
出したい座標にオブジェクトを置いて出す方法。

こんな感じに、オブジェクトを出したい場所に空のGameObjectを置きます。
[SpawnManager.cs]
コードをこんな感じにいじります。

Transformをそれぞれアサインします。
これで実行すると、先ほど置いた空のGameObjectの場所にImageのオブジェクトが出ます。
という感じで、大体この2パターンを主流に使ってます。
どちらかといえば最近は2番目の方が多いかな。
これで好きな場所にオブジェクトが出せますね!
では、あでゅ~ノシ
今日は台風15号のせいで寝不足でございます。
さてUnityの話。
出したい場所にオブジェクトを出す方法について。
【前提】
[画面に出す石の絵のプレハブ]

石のSpriteをつけたuGUIのImageプレハブです。
[画面構成]

[SpawnManager.cs]
using UnityEngine;
using UnityEngine.UI;
public class SpawnManager : MonoBehaviour
{
[SerializeField]
Image stonePrefab;
[SerializeField]
Transform canvasTran;
}
今はまだこれだけ。
【出したい場所にオブジェクトを出す方法 其の1】
座標をそのまま書いちゃう方法。
using UnityEngine;
using UnityEngine.UI;
public class SpawnManager : MonoBehaviour
{
[SerializeField]
Image stonePrefab;
[SerializeField]
Transform canvasTran;
Vector2[] positions = {
new Vector2(100f,100f),
new Vector2(-130f,-250f),
new Vector2(200f,250f)
};
private void Start() {
foreach(Vector2 posi in positions) {
Image img = Instantiate(stonePrefab, canvasTran, false);
img.gameObject.transform.localPosition = posi;
}
}
}

なんかポジション書くのもいいんだけど、どこに出すのかの座標をいちいちやるのはめんどいですよね。
仕様でちゃんと座標指定されているのならばあれですが・・・
あんまり数値をコードに書きたくないっすね。
positionをpublicにしてアサインするのも手ですが。
【出したい場所にオブジェクトを出す方法 其の2】
出したい座標にオブジェクトを置いて出す方法。

こんな感じに、オブジェクトを出したい場所に空のGameObjectを置きます。
[SpawnManager.cs]
using UnityEngine;
using UnityEngine.UI;
public class SpawnManager : MonoBehaviour
{
[SerializeField]
Image stonePrefab;
[SerializeField]
Transform canvasTran;
[SerializeField]
Transform[] trans;
private void Start() {
foreach(Transform tran in trans) {
Image img = Instantiate(stonePrefab, canvasTran, false);
img.gameObject.transform.localPosition = tran.localPosition;
}
}
}
コードをこんな感じにいじります。

Transformをそれぞれアサインします。
これで実行すると、先ほど置いた空のGameObjectの場所にImageのオブジェクトが出ます。
という感じで、大体この2パターンを主流に使ってます。
どちらかといえば最近は2番目の方が多いかな。
これで好きな場所にオブジェクトが出せますね!
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】Math.Roundで特定の桁を丸めたいとき。 | 【ハルシオンブログ】相対パスから絶対パスが欲しいとき »
コメント
| h o m e |