Как генерировать платформы вниз друг друга в шаблоне с несколькими различными позициями Unity - PullRequest
0 голосов
/ 16 мая 2019

Я создаю платформу ниже друг друга, которую вы можете увидеть на картинке ниже

Platforms Below Each Other

Но я хочу создать такие платформы как

The pattern what i want

Так как я могу это сделать?Ниже вы можете прочитать мой код, который генерирует платформы друг под другом только в позиции Y.

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

public class platformGeneration : MonoBehaviour
{
    public int numOfPlatforms;
    public GameObject platform;
    public Transform spawnPosition;

// Start is called before the first frame update
    void Start()
    {

        Vector3 pos = spawnPosition.GetComponent<Transform>().position;

        for (int i = 0; i < numOfPlatforms; i++)
        {
            spawnPlatofrm(pos + new Vector3(i+2,-i - 5, 0));



            //spawnPlatofrm(pos + new Vector3(0, -i - 5, -i - 2));

            //for (int j = 0; j < numOfPlatforms; j++)
            //{
            //    spawnPlatofrm(pos + new Vector3(0, -j - 5, -j - 2));
            //}

            //spawnPlatofrm(pos + (Vector3.right * i));


        }
    }



    void spawnPlatofrm(Vector3 spawnPosition)
    {
        Instantiate(platform, spawnPosition, Quaternion.identity);
    }
}

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете попробовать заменить метод запуска следующим образом:

    void Start()
    {
        Vector3 pos = spawnPosition.GetComponent<Transform>().position;

        int next = 2;
        int slide = 0;
        for (int i = 0; i < numOfPlatforms; i++)
        {
            spawnPlatofrm(pos + new Vector3(i+next,-i - 5, slide));
            next *= -1;
            if(next == 2) slide++;
        }
    }
...