Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class PhotoController : MonoBehaviour {
- public Transform _frame;
- private SpriteRenderer spRend;
- private GameObject frame;
- private GameObject player;
- public byte distance;
- private float dist;
- public float wait;
- private bool a;
- private bool b;
- private float x;
- private float y;
- void Start()
- {
- a = true;
- b = false;
- player = GameObject.Find("Player");
- spRend = GetComponent<SpriteRenderer>();
- StartCoroutine(DistanceActivate());
- }
- IEnumerator DistanceActivate()
- {
- while (a)
- {
- dist = Vector3.Distance(player.transform.position, transform.position);
- if (dist >= distance && b == true)
- {
- frame.gameObject.SetActive(false);
- }
- else if (dist < distance && b == true)
- {
- frame.gameObject.SetActive(true);
- }
- else
- {
- b = true;
- InstanteGo();
- CreateFrame();
- }
- yield return new WaitForSeconds(wait);
- }
- }
- public void InstanteGo()
- {
- Instantiate(_frame, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
- frame = GameObject.Find("Frame(Clone)");
- frame.name = "Frame";
- }
- void CreateFrame()
- {
- MeshFilter meshF = frame.GetComponent<MeshFilter>();
- Mesh meshR = meshF.mesh;
- x = spRend.GetComponent<SpriteRenderer>().bounds.size.x;
- y = spRend.GetComponent<SpriteRenderer>().bounds.size.y;
- Vector3[] vertices = new Vector3[]
- {
- //internal top face//
- new Vector3(-x/2, y/2, 0),//left top internal, 0
- new Vector3(x/2, y/2, 0),//right top internal, 1
- //...
- new Vector3(-x/2 - 0.303f, y/2 + 0.303f, 0),//right bottom sixth1, 219
- //sixth1 right face//
- new Vector3(x/2 + 0.303f, y/2 + 0.303f, -0.2747f),//left top sixth1, 220
- new Vector3(x/2 + 0.303f, y/2 + 0.303f, 0),//right top sixth1, 221
- new Vector3(x/2 + 0.303f, -y/2 - 0.303f, -0.2747f),//left bottom sixth1, 222
- new Vector3(x/2 + 0.303f, -y/2 - 0.303f, 0)//right bottom sixth1, 223
- };
- int[] triangles = new int[]
- {
- 0,2,3,
- 3,1,0,//
- 4,6,7,
- //...
- 215,213,212,//
- 216,218,219,
- 219,217,216,//
- 220,222,223,
- 223,221,220//
- };
- Vector2[] uvs = new Vector2[]
- {
- new Vector2(0,1),
- new Vector2(0,0),
- new Vector2(1,1),
- //...
- new Vector2(1,0), //
- new Vector2(0,1),
- new Vector2(0,0),
- new Vector2(1,1),
- new Vector2(1,0) //
- };
- meshR.Clear();
- meshR.vertices = vertices;
- meshR.triangles = triangles;
- meshR.uv = uvs;
- meshR.Optimize();
- meshR.RecalculateNormals();
- //???
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement