Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sing UnityEngine;
- using System.Collections;
- public class CloudPrefabController : MonoBehaviour {
- public Sprite[] sprites;
- private SpriteRenderer spriteRenderer;
- public float speed;
- private Vector2 endPoint;
- CloudPrefabController(bool onScreen) {
- if (onScreen == true) {
- appearOnScreen ();
- } else {
- appearOffScreen();
- }
- }
- void appearOnScreen() {
- Vector2 startPosition;
- startPosition.x = Random.Range (-5f, 5f);
- startPosition.y = Random.Range (0f, 3f);
- transform.position = startPosition;
- endPoint.x = 8f;
- endPoint.y = startPosition.y;
- }
- void appearOffScreen() {
- Vector2 startPosition;
- startPosition.x = -8;
- startPosition.y = Random.Range (0f, 3f);
- transform.position = startPosition;
- endPoint.x = 8f;
- endPoint.y = startPosition.y;
- }
- // инициализации и служебные методы
- void Awake () {
- spriteRenderer = GetComponent<SpriteRenderer> ();
- spriteRenderer.sprite = sprites[Random.Range(0, sprites.Length)];
- spriteRenderer.sortingLayerName = "bg_clouds";
- speed = 0.3f;
- }
- // Use this for initialization
- void Start () {
- }
- // Update is called once per frame
- void Update () {
- transform.position = Vector2.MoveTowards (transform.position, endPoint, speed * Time.deltaTime);
- Vector2 currentPosition = transform.position;
- if (currentPosition == endPoint) {
- Destroy (gameObject);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement