annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
1 using System.Collections;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
2 using System.Collections.Generic;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
3 using UnityEngine;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
4
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
5 public class ImageChanger : MonoBehaviour {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
6
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
7 private int max_height;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
8 private int max_width;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
9
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
10 public Texture2D tex_1;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
11 public Texture2D tex_2;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
12
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
13 private Texture2D change_tex;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
14 private Color[] tex_colors;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
15
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
16
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
17 public GameObject obj;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
18 // Use this for initialization
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
19 void Start () {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
20 change_tex = tex_1;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
21 SetPixel (tex_2.width, tex_2.height);
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
22 StartCoroutine (SetColor ());
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
23 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
24
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
25 private void SetPixel (int x, int y) {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
26 change_tex.SetPixels (tex_1.GetPixels ());
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
27 change_tex.Apply ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
28 max_width = x;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
29 max_height = y;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
30 print ("(height, width) = (" + max_height + ", " + max_width + ")");
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
31 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
32
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
33 public IEnumerator SetColor () {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
34 for (int x = 0; x < max_width; x++) {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
35 for (int y = 0; y < max_height; y++) {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
36 change_tex.SetPixel (x, y, tex_2.GetPixel(x, y));
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
37 print ("(height, width) = (" + x + ", " + y + ")");
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
38 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
39 yield return new WaitForSeconds (0.01f);
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
40 if(x % 5 == 0) TextureUpdate ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
41 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
42 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
43
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
44 // Update called once per frame
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
45 void Update () {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
46
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
47 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
48
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
49 void TextureUpdate () {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
50 change_tex.Apply ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
51 obj.GetComponent<Renderer> ().material.mainTexture = change_tex;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
52 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents:
diff changeset
53 }