エディター拡張1(タイルマップ作製支援ツール)
![B4f26d63 8901 4945 aed7 2e18baa70f6e](https://codegenius.org/uploads/slide/image/3865/b4f26d63-8901-4945-aed7-2e18baa70f6e.jpeg)
![60774878 5d51 479d 840e 3f593e09ef64](https://codegenius.org/uploads/slide/image/3866/60774878-5d51-479d-840e-3f593e09ef64.jpeg)
![3bd67857 7bce 43c3 a804 6a8135b42bc4](https://codegenius.org/uploads/slide/image/3867/3bd67857-7bce-43c3-a804-6a8135b42bc4.jpeg)
タイルマップ作成支援ツール
// ★変更(必要なものだけ記述すること)
using UnityEngine;
using UnityEditor;
public class MapCreate : EditorWindow // ←変更すること!
{
static MapCreate window;
private int yokoSize;
private int tateSize;
private GameObject wrapper;
[MenuItem("TileMap/Create")]
static void Open()
{
window = CreateInstance<MapCreate>();
window.Show();
}
private void OnGUI()
{
yokoSize = EditorGUILayout.IntField("横の大きさ", yokoSize);
tateSize = EditorGUILayout.IntField("縦の大きさ", tateSize);
if(GUILayout.Button("MapCreate"))
{
wrapper = new GameObject("TileMaps");
for(int i = 0; i < yokoSize; i++)
{
for(int j = 0; j < tateSize; j++)
{
GameObject prefab = (GameObject)Resources.Load("Tile");
GameObject clone = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
clone.transform.localRotation = Quaternion.Euler(90, 0, 0);
clone.transform.position = new Vector3(i, 0, j);
// 自動的に親子関係を作る
clone.transform.SetParent(wrapper.transform);
}
}
}
if(GUILayout.Button("Close"))
{
Close();
}
}
}
![60390ddf d42f 4e67 890c 4582f2d84558](https://codegenius.org/uploads/slide/image/3868/60390ddf-d42f-4e67-890c-4582f2d84558.jpeg)
![Dd68772d c5c5 4891 95c2 e54d2db8730a](https://codegenius.org/uploads/slide/image/3869/dd68772d-c5c5-4891-95c2-e54d2db8730a.jpeg)
![46879797 bbe6 4c11 8f9f 84baf9ad4ab8](https://codegenius.org/uploads/slide/image/3870/46879797-bbe6-4c11-8f9f-84baf9ad4ab8.jpeg)
![C93707ed 0180 4ae3 91de 2f9ad4759666](https://codegenius.org/uploads/slide/image/3871/c93707ed-0180-4ae3-91de-2f9ad4759666.jpeg)
![459fd9c9 ed51 44dc 8e5d 3cd5fe419f60](https://codegenius.org/uploads/slide/image/3872/459fd9c9-ed51-44dc-8e5d-3cd5fe419f60.jpeg)
![1a8cc526 4b88 4d37 8886 8445c9558835](https://codegenius.org/uploads/slide/image/3873/1a8cc526-4b88-4d37-8886-8445c9558835.jpeg)
![Bc7a1121 8134 4f78 a8bb ab3943675233](https://codegenius.org/uploads/slide/image/3874/bc7a1121-8134-4f78-a8bb-ab3943675233.jpeg)
【2019版】TowerD Ⅱ(基礎/全4回)
1 | エディター拡張1(タイルマップ作製支援ツール) |
2 | エディター拡張2(オブジェクト配置支援ツール) |
3 | エディター拡張3(オブジェクト配置支援ツールの改良) |
4 | エディター拡張4(Undo機能の実装) |
![B4f26d63 8901 4945 aed7 2e18baa70f6e](https://codegenius.org/uploads/slide/image/3865/b4f26d63-8901-4945-aed7-2e18baa70f6e.jpeg)
![60774878 5d51 479d 840e 3f593e09ef64](https://codegenius.org/uploads/slide/image/3866/60774878-5d51-479d-840e-3f593e09ef64.jpeg)
![3bd67857 7bce 43c3 a804 6a8135b42bc4](https://codegenius.org/uploads/slide/image/3867/3bd67857-7bce-43c3-a804-6a8135b42bc4.jpeg)
タイルマップ作成支援ツール
// ★変更(必要なものだけ記述すること)
using UnityEngine;
using UnityEditor;
public class MapCreate : EditorWindow // ←変更すること!
{
static MapCreate window;
private int yokoSize;
private int tateSize;
private GameObject wrapper;
[MenuItem("TileMap/Create")]
static void Open()
{
window = CreateInstance<MapCreate>();
window.Show();
}
private void OnGUI()
{
yokoSize = EditorGUILayout.IntField("横の大きさ", yokoSize);
tateSize = EditorGUILayout.IntField("縦の大きさ", tateSize);
if(GUILayout.Button("MapCreate"))
{
wrapper = new GameObject("TileMaps");
for(int i = 0; i < yokoSize; i++)
{
for(int j = 0; j < tateSize; j++)
{
GameObject prefab = (GameObject)Resources.Load("Tile");
GameObject clone = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
clone.transform.localRotation = Quaternion.Euler(90, 0, 0);
clone.transform.position = new Vector3(i, 0, j);
// 自動的に親子関係を作る
clone.transform.SetParent(wrapper.transform);
}
}
}
if(GUILayout.Button("Close"))
{
Close();
}
}
}
![60390ddf d42f 4e67 890c 4582f2d84558](https://codegenius.org/uploads/slide/image/3868/60390ddf-d42f-4e67-890c-4582f2d84558.jpeg)
![Dd68772d c5c5 4891 95c2 e54d2db8730a](https://codegenius.org/uploads/slide/image/3869/dd68772d-c5c5-4891-95c2-e54d2db8730a.jpeg)
![46879797 bbe6 4c11 8f9f 84baf9ad4ab8](https://codegenius.org/uploads/slide/image/3870/46879797-bbe6-4c11-8f9f-84baf9ad4ab8.jpeg)
![C93707ed 0180 4ae3 91de 2f9ad4759666](https://codegenius.org/uploads/slide/image/3871/c93707ed-0180-4ae3-91de-2f9ad4759666.jpeg)
![459fd9c9 ed51 44dc 8e5d 3cd5fe419f60](https://codegenius.org/uploads/slide/image/3872/459fd9c9-ed51-44dc-8e5d-3cd5fe419f60.jpeg)
![1a8cc526 4b88 4d37 8886 8445c9558835](https://codegenius.org/uploads/slide/image/3873/1a8cc526-4b88-4d37-8886-8445c9558835.jpeg)
![Bc7a1121 8134 4f78 a8bb ab3943675233](https://codegenius.org/uploads/slide/image/3874/bc7a1121-8134-4f78-a8bb-ab3943675233.jpeg)
エディター拡張1(タイルマップ作製支援ツール)