x


Before updating to Windows 10 you may need to return your Pro license. More information here

Drop item from airplane

Hello everyone. I am making a 3D shooter and have planes flying from the top of the sreen to the bottom, dropping a powerup somewhere along the z axis. The problem I'm having is that the powerup (crate) is being spawned before the plane flies across the screen so it looks like the powerup is appearing out of nowhere. How can I get it to spawn correctly?

 function LevelEnd(){
     if(level == 1){
     CoastguardFire.canShoot = false;
         while(totalEnemies != level + 2){
             posX = Random.Range(-4.232903,4.232903);
             Instantiate(enemies[0],Vector3(posX, 0.1, 2.626708),transform.rotation);
             totalEnemies += 1;
         }
         while(totalPlanes != level){
             posY = Random.Range(2.787038, 5.503512);
             posX = Random.Range(-3.116441,1.936659);
             posZ = Random.Range(2.626708,-3);
             var crateType = Random.Range(0,2);
             Instantiate(planes[0],Vector3(posX, posY, 2.626708),Quaternion.Euler(Vector3(0,180,0)));
             totalPlanes += 1;
             Instantiate(crates[crateType],Vector3(posX,posY,posZ),transform.rotation);
         }
     }
 }
more ▼

asked Apr 30, 2012 at 12:48 AM

avatar image

Hedonsoft
104 91 77 78

Add a yeild and have make it however long it takes. Explain your game more please.

Apr 30, 2012 at 02:40 AM maroonrs2
(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

you're instantiating your crate and your plane at the same time, at different locations. As suggested above, you could use a yield WaitForSeconds with a random number from the minimum acceptable drop time to the max of how long the plane takes to cross the screen, then use:

 var clone : RigidBody;
 
 clone=Instantiate(planes[0],Vector3(posX,posY,2.626708),Quaternion.Euler(Vector3(0,180,0)));   
 
 yield WaitForSeconds goes here;
 
 Instantiate(crates[crateType],clone.transform.position,transform.rotation); 

 

something like this should do it I think

more ▼

answered Apr 30, 2012 at 03:06 AM

avatar image

Seth Bergman
8.8k 34 39 74

seth come to my profile and see if you can help me real quick on my force problem :)

Apr 30, 2012 at 03:16 AM maroonrs2

Thanks everyone

Apr 30, 2012 at 02:09 PM Hedonsoft
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

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

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x3511
x1232
x958

asked: Apr 30, 2012 at 12:48 AM

Seen: 1089 times

Last Updated: Apr 30, 2012 at 02:09 PM