Parallax Test
parallax test
This commit is contained in:
44
Assets/Quentin/ParallaxBackground.cs.cs
Normal file
44
Assets/Quentin/ParallaxBackground.cs.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[ExecuteInEditMode]
|
||||
public class ParallaxBackground : MonoBehaviour
|
||||
{
|
||||
public ParallaxCamera parallaxCamera;
|
||||
List<ParallaxLayer> parallaxLayers = new List<ParallaxLayer>();
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (parallaxCamera == null)
|
||||
parallaxCamera = Camera.main.GetComponent<ParallaxCamera>();
|
||||
|
||||
if (parallaxCamera != null)
|
||||
parallaxCamera.onCameraTranslate += Move;
|
||||
|
||||
SetLayers();
|
||||
}
|
||||
|
||||
void SetLayers()
|
||||
{
|
||||
parallaxLayers.Clear();
|
||||
|
||||
for (int i = 0; i < transform.childCount; i++)
|
||||
{
|
||||
ParallaxLayer layer = transform.GetChild(i).GetComponent<ParallaxLayer>();
|
||||
|
||||
if (layer != null)
|
||||
{
|
||||
layer.name = "Layer-" + i;
|
||||
parallaxLayers.Add(layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Move(float delta)
|
||||
{
|
||||
foreach (ParallaxLayer layer in parallaxLayers)
|
||||
{
|
||||
layer.Move(delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user