Golf2D/Assets/Free 2D Cartoon Parallax Background/Demo/Script/BackgroundControl_0.cs
2023-05-20 13:49:50 +05:30

53 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BackgroundControl_0 : MonoBehaviour
{
[Header("BackgroundNum 0 -> 3")]
public int backgroundNum;
public Sprite[] Layer_Sprites;
private GameObject[] Layer_Object = new GameObject[5];
private int max_backgroundNum = 3;
public bool enableSwitching = false;
void Start()
{
for (int i = 0; i < Layer_Object.Length; i++){
Layer_Object[i] = GameObject.Find("Layer_" + i);
}
ChangeSprite();
}
void Update() {
if(!enableSwitching){return;}
//for presentation without UIs
if (Input.GetKeyDown(KeyCode.RightArrow)) NextBG();
if (Input.GetKeyDown(KeyCode.LeftArrow)) BackBG();
}
void ChangeSprite(){
Layer_Object[0].GetComponent<SpriteRenderer>().sprite = Layer_Sprites[backgroundNum*5];
for (int i = 1; i < Layer_Object.Length; i++){
Sprite changeSprite = Layer_Sprites[backgroundNum*5 + i];
//Change Layer_1->7
Layer_Object[i].GetComponent<SpriteRenderer>().sprite = changeSprite;
//Change "Layer_(*)x" sprites in children of Layer_1->7
Layer_Object[i].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite = changeSprite;
Layer_Object[i].transform.GetChild(1).GetComponent<SpriteRenderer>().sprite = changeSprite;
}
}
public void NextBG(){
backgroundNum = backgroundNum + 1;
if (backgroundNum > max_backgroundNum) backgroundNum = 0;
ChangeSprite();
}
public void BackBG(){
backgroundNum = backgroundNum - 1;
if (backgroundNum < 0) backgroundNum = max_backgroundNum;
ChangeSprite();
}
}