Scrolling Repeating Backgrounds

確認済のバージョン: 5.5


難易度: 初級

In this beginner friendly live training we will look at creating a simple 2D Flappy Bird style game. We'll cover best practices for infinite or endless games, basic object pooling and creating cartoon physics effects.

Scrolling Repeating Backgrounds

初級 2D Game Creation


Code snippet

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScrollingObject : MonoBehaviour 
    private Rigidbody2D rb2d;

    // Use this for initialization
    void Start () 
        //Get and store a reference to the Rigidbody2D attached to this GameObject.
        rb2d = GetComponent<Rigidbody2D>();

        //Start the object moving.
        rb2d.velocity = new Vector2 (GameControl.instance.scrollSpeed, 0);

    void Update()
        // If the game is over, stop scrolling.
        if(GameControl.instance.gameOver == true)
            rb2d.velocity =;


Code snippet

using UnityEngine;
using System.Collections;

public class RepeatingBackground : MonoBehaviour 
    private BoxCollider2D groundCollider;       //This stores a reference to the collider attached to the Ground.
    private float groundHorizontalLength;       //A float to store the x-axis length of the collider2D attached to the Ground GameObject.

    //Awake is called before Start.
    private void Awake ()
        //Get and store a reference to the collider2D attached to Ground.
        groundCollider = GetComponent<BoxCollider2D> ();
        //Store the size of the collider along the x axis (its length in units).
        groundHorizontalLength = groundCollider.size.x;

    //Update runs once per frame
    private void Update()
        //Check if the difference along the x axis between the main Camera and the position of the object this is attached to is greater than groundHorizontalLength.
        if (transform.position.x < -groundHorizontalLength)
            //If true, this means this object is no longer visible and we can safely move it forward to be re-used.
            RepositionBackground ();

    //Moves the object this script is attached to right in order to create our looping background effect.
    private void RepositionBackground()
        //This is how far to the right we will move our background object, in this case, twice its length. This will position it directly to the right of the currently visible background object.
        Vector2 groundOffSet = new Vector2(groundHorizontalLength * 2f, 0);

        //Move this object from it's position offscreen, behind the player, to the new position off-camera in front of the player.
        transform.position = (Vector2) transform.position + groundOffSet;

2D Game Creation

  1. 2D Game Development Walkthrough
  2. 2D Mode
  3. The Sprite Type
  4. Sprite Renderer
  5. The Sprite Editor
  6. Sorting Layers
  1. 2D Physics Overview
  2. Rigidbody 2D
  3. Collider 2D
  4. Hinge Joint 2D
  5. Area Effector 2D
  6. Distance Joint 2D
  7. Point Effector 2D
  8. Bouncing & Sliding in 2D
  1. Introduction to Unity from a 2D perspective
  2. 2D Character Controllers
  3. 2D Catch Game - Pt 1
  4. 2D Catch Game - Pt 2
  5. 2D Catch Game - Pt 3
  6. 2D Catch Game - Q&A / AMA
  7. 2D Scrolling Backgrounds
  8. Top Down 2D Game Basics
  9. 2D Physics: Fun with Effectors
  10. Making an "Angry Birds" style game - Part 1
  11. Making an "Angry Birds" style game - Part 2
  12. 2D Games for Non-Programmers
  1. Project Goals
  2. Adding Sprites
  3. The Bird Script
  4. Animating The Bird
  5. Score and GameOver UI Setup
  6. Adding The Game Controller
  7. Scrolling Repeating Backgrounds
  8. Adding Column Obstacles
  9. Recycling Obstacles With Object Pooling
  10. Questions and Answers
  1. Intro and Session Goals
  2. Scripting Gravity
  3. Detecting Overlaps
  4. Scripting Collision
  5. Horizontal Movement
  6. Player Controller Script
  7. Adding Player Animation
  8. Questions and Answers
  1. Introduction and Goals
  2. Sorting Layers and 9-Slice Sprites
  3. 2D Composite and Capsule Colliders
  4. Sorting Groups and Transparency Sort Axis
  5. 2D Physics Reference Project
  6. Questions and Answers
  1. Introduction to 2D Essentials
  2. 2D Character Setup with Corgi Engine
  3. 2D Follow Camera w/ Cinemachine
  4. Adding Enemies with Corgi Engine
  5. 2D Lighting with 2DDL Pro
  6. Tween Effects with DOTween Pro
  7. Easy UI with Doozy UI
  8. Questions and Answers for 2D Essentials
  1. Intro to 2D World building w/ Tilemap
  2. Core Tilemap Concepts
  3. Tilemap Collider 2D and Composite Collider 2D
  4. Confined Follow Camera with Cinemachine For 2D
  5. Using Rule Tiles With Tilemap
  6. Random and Animated Tilemap Tiles
  7. Custom Tilemap Brush To Spawn Prefabs
  8. Questions and Answers for 2D Worldbuilding
  1. Getting Started with SVG Importer