Unity/Csharp/画像ロード
提供: 初心者エンジニアの簡易メモ
目次
画像ロード(SpriteRendererを使う方法)
Sprite sp = Resources.Load<Sprite>("gazo"); GameObject gameObj = new GameObject(); SpriteRenderer spriteRenderer = gameObj.AddComponent<SpriteRenderer>(); spriteRenderer.sprite = sp; gameObj.transform.parent = FindObjectOfType<Canvas>().transform; gameObj.transform.localScale = new Vector3 (83, 83, 0); gameObj.transform.name = "gazo";
slice画像ロード(SpriteRendererを使う方法)
Sprite[] sprites = Resources.LoadAll<Sprite>("gazo"); Sprite sp = System.Array.Find<Sprite>( sprites, (sprite) => sprite.name.Equals("gazo_1")); GameObject gameObj = new GameObject(); SpriteRenderer spriteRenderer = gameObj.AddComponent<SpriteRenderer>(); spriteRenderer.sprite = sp; gameObj.transform.parent = FindObjectOfType<Canvas>().transform; gameObj.transform.localScale = new Vector3 (83, 83, 0); gameObj.transform.name = "gazo_1";
画像ロード(Imageを使う方法)
Sprite sp = Resources.Load<Sprite>("gazo"); GameObject gameObj = new GameObject(); Image image = gameObj.AddComponent<Image>(); image.sprite = sp; gameObj.transform.parent = FindObjectOfType<Canvas>().transform; gameObj.transform.name = "gazo"; gameObj.transform.localScale = new Vector3 (1f, 1f, 0);
slice画像ロード(Imageを使う方法)
Sprite[] sprites = Resources.LoadAll<Sprite>("gazo"); Sprite sp = System.Array.Find<Sprite>( sprites, (sprite) => sprite.name.Equals("gazo_1")); GameObject gameObj = new GameObject(); Image image = gameObj.AddComponent<Image>(); image.sprite = sp; gameObj.transform.parent = FindObjectOfType<Canvas>().transform; gameObj.transform.name = "gazo_1"; gameObj.transform.localScale = new Vector3 (1f, 1f, 0);
ImageのSourceImageをResourcesにある画像に切り替える
Assets/Resourcesに画像を準備(例:neko/img1.png)
Texture2D texture = Resources.Load("neko/img1") as Texture2D; Image img = GameObject.Find("Canvas/Image1").GetComponent<Image>(); img.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);