Skip to content

Instantly share code, notes, and snippets.

@wuqxuan
Created February 22, 2017 13:22
Show Gist options
  • Save wuqxuan/cb6510d86a83744e1b6740a2132f30f6 to your computer and use it in GitHub Desktop.
Save wuqxuan/cb6510d86a83744e1b6740a2132f30f6 to your computer and use it in GitHub Desktop.
Unity 循环滚屏
using UnityEngine;
using System.Collections;
public class BackgroundRepeater : MonoBehaviour {
private Transform cameraTransform;
private float spriteWidth;
// Use this for initialization
void Start () {
cameraTransform = Camera.main.transform;
// It casts the object’s built-in renderer property to a SpriteRenderer in order to access its sprite property,
// from which it gets the Sprite’s bounds.
SpriteRenderer spriteRenderer = GetComponent<Renderer>() as SpriteRenderer;
spriteWidth = spriteRenderer.sprite.bounds.size.x;
}
// Update is called once per frame
void Update () {
transform.Translate(-Time.deltaTime*2.3f, 0, 0);
// Background sprite is well offscreen when positioned exactly one-sprite’s width away from the camera’s position.
if((transform.position.x + spriteWidth) < cameraTransform.position.x)
{
Vector3 newPos = transform.position;
newPos.x += 2.0f * spriteWidth;
transform.position = newPos;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment