Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Koharu · May 04, 2014 at 09:18 AM · instantiateloopendless runner

Instantiate objects in a specific order

I am making 3d endless runner and right now my code generates random floor prefabs(I have 6 of them) from the array at the certain time. But instead of random I want specific prefabs to be generated so the player will be passing through different zones. To be more exact - each prefab from the array should be instantiated 3 times in a row and then the next one and so on. When the loop goes through all the prefabs from the array, it should start again from the 1st prefab.

The code I have now:

 public GameObject[] prefabArray;
 public float spawnTime;
 
 void Start () {    
      Spawn (); 
 }
     
 void Spawn () {    
      Instantiate (prefabArray [Random.Range (0,prefabArray.GetLength(0))], transform.position, Quaternion.identity);    
      Invoke ("Spawn", spawnTime); 
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by fafase · May 04, 2014 at 09:32 AM

I would think your guy is not moving and the world is moving towards him, so a level manager would do.

Define a method with a set of parameter that will make things happen in the way you want and call that method at specific time. For instance this below will create 5 objects you define from the array.

 void CreateObject(param int [] list)
 {
    for (int i = 0; i < list.Length; i++)
       Instantiate(array[list[i]], position, rotation);
 }

 void Update()
 {
    if(time == 0)  CreateObject(1,2,3,4,5);
    if (time == 10)CreateObject(1,1,1,2,2,2);
    // And so on
 }
Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by Koharu · May 04, 2014 at 09:32 PM

Thank you, but unfortunately Unity crushes when I use this code. I've just created new prefabs which consist of few objects(in my case 3 pieces of the floor) and still using my original code.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

20 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How can I destroy many instantiated objects on endless game 1 Answer

Trying to not make an infinite loop 0 Answers

Instantiate color change loop 0 Answers

OverlapSphere for parallel arrays 1 Answer

Why does this code hang the system?? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges