Hi everyone. I need help at someting. I need creating same object with some delay. Like 0.3 sec. I used “Value of a timer” and “reset timer” and it works. But now i have an another problem.
In the game when you press “u” button player shot a ball. Like a said i can give delay with “Value of a timer” and “reset timer” but now when you keep press the button, the object keep creating also. What i want is one object creating for one pressing.
I tried some ways in my knowledge but it didn’t help. It ending with lock the creating object if you press fast.
So i need your help
Btw sorry for my English.
It’s because you have only one timer, but you need a timer for each shot actually. I would do it:
- When you press the shoot button, create an empty object, an invisible sprite or something, don’t worry about the position, I will call it Placeholder (the position doesn’t matter, so maybe Timeholder would be a better name?)
- Just after creating the Placeholder, create an object variable for the Placeholder called Lifetime = 0.3
- Always (every frame), do -TimeDelta() to the variable Lifetime of each Placeholder. Here is the magic, the variable Lifetime is like a little timer that works for each shot because it’s an object variable, the timers are global
- Finally, if the variable Lifetime of a Placeholder is <= 0, delete the Placeholder and create the Bullet in the right location (the gun or whatever)
Let me know if you need an example or something
Can you make an example for -TimeDelta() ?
I’m new here, so I don’t know much nya, but to avoid multiple instances of the same object I would do this:
- I just create a simple variable, like, “ballexists” with a starting value of 0. “0” means there is no ball in the screen nya.
-In the instance where you press “u” and a ball is created, where it says something like “When the key (u) is pressed”, nya, add an effect that changes the value of that variable, “ballexists”, to “1”.
-Then add to the same ball creating instance, where it says “When the key (u) is pressed”, a condition that says that the variable “ballexists” must be 0.
-Finally, in the event when the ball is deleted, add an effect that changes the value of the variable back to 0.
I think that could solve the multiball problem nya.
Here is what I mean:
BulletDelay.zip (4.09 KB)
In the example there are two scenes, the first one is a debug scene where you can see the placeholders and their timer, the second scene is a “release” one, debug objects and events have been removed
Are you using the “Trigger once” condition? Alternatively, you could create the ball when the U button is released, rather than when it is pressed. Either of those should stop lots of unwanted balls being created. If you want to hold down the U button and create lots of balls, but with a delay between each one, then you’ll need something like Lizard’s suggestion.
Hi everybody. First of all thank you so much your help and i’m sorry didn’t answer before.
So I fixed my problem. I tried your ways 1 by 1 but it didn’t help but it because probably I didn’t do it right.
But here is the funny part. I took some stuff your help and combine together and it works now
I know %90 why it works but not sure what is going on that %10 part. But right now I’m on “God dammit it is working, don’t touch it” mod.
Anyway once again thank you so much your help.