|
I'm making a 2D shooter and wanted to know how to fire a curtain of bullets like in a bullet hell game from a single object. I'm trying to figure out how to alter a normal firing code to spread out in a fan shaped or random pattern if possible. Edit: Code for firing //Fire rate of shots(Every # seconds, fire 1 shot) var fireRate: float =1.0; //Time to start shooting private var nextFire: float = 0.0;
(comments are locked)
|
|
If you are using particles for bullets you can use the random velocity setting. If you are using rigid bodies for bullets you can use Random.insideUnitSphere to get a random direction for it to travel in. e.g.
If you wanted the bullets to move in a pattern then you can set the angle using some kind of math equation. Even very simple equations can result in interesting looking patterns. e.g. if you increment the y-rotation of the bullet fired by 10 degrees every frame they'll fan out like a spiral. If you then have a second set of bullets with their y-rotation incrementing in the opposite direction you'll get a double spiral that crosses over each other. EDIT: Changed rigid body to game object. E.g. Maths: I'm getting an InvalidCastException: Cannot cast from source type to destination type. Can you give an example of the math formula as well? Math has never been my strong point.
Aug 01 '10 at 12:38 PM
Persona
Try that now...
Aug 01 '10 at 03:14 PM
spinaljack
this error came up: Actor::setLinearVelocity: Actor must be (non-kinematic) dynamic! Also where do I put the math code? The update function moves it but can't have coroutines
Aug 02 '10 at 01:15 AM
Persona
That error means your bullet doesn't have a non-kinematic rigid body. You can put the increment code where ever you want.
Aug 02 '10 at 01:26 AM
spinaljack
Okay, I figured out that to make bigger changes in firing range I need to add to the random like this: rotation.eulerAngles = Random.insideUnitSphere * 25; I mean how do I implement the math part, In the bullet script, in the player script? Do I place Yrotation somewhere in the Instintate?
Aug 02 '10 at 02:31 AM
Persona
(comments are locked)
|
