Mercurial > hg > Members > kazuma > JungleforUnity
diff Assets/Application/Scripts/Test/ImageChanger.cs @ 8:599bd8ddb72b
Create Item Tree and Create Stage.
author | Kazuma Takeda |
---|---|
date | Tue, 17 Jan 2017 19:57:19 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Assets/Application/Scripts/Test/ImageChanger.cs Tue Jan 17 19:57:19 2017 +0900 @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ImageChanger : MonoBehaviour { + + private int max_height; + private int max_width; + + public Texture2D tex_1; + public Texture2D tex_2; + + private Texture2D change_tex; + private Color[] tex_colors; + + + public GameObject obj; + // Use this for initialization + void Start () { + change_tex = tex_1; + SetPixel (tex_2.width, tex_2.height); + StartCoroutine (SetColor ()); + } + + private void SetPixel (int x, int y) { + change_tex.SetPixels (tex_1.GetPixels ()); + change_tex.Apply (); + max_width = x; + max_height = y; + print ("(height, width) = (" + max_height + ", " + max_width + ")"); + } + + public IEnumerator SetColor () { + for (int x = 0; x < max_width; x++) { + for (int y = 0; y < max_height; y++) { + change_tex.SetPixel (x, y, tex_2.GetPixel(x, y)); + print ("(height, width) = (" + x + ", " + y + ")"); + } + yield return new WaitForSeconds (0.01f); + if(x % 5 == 0) TextureUpdate (); + } + } + + // Update called once per frame + void Update () { + + } + + void TextureUpdate () { + change_tex.Apply (); + obj.GetComponent<Renderer> ().material.mainTexture = change_tex; + } +}