No problem; I'll explain a bit more.
Since people are saying that your game doesn't use FPS (frames per second,) I'm assuming enemies are moved using timers, and that you're handling keys in a keyDown event. Now, if you look at the technical implementation, this still means you have a frame rate, but we'll stay away from the implementation details here.
When you hold down a key, some code that you've put in keyDown fires over and over and over in rapid succession. For our cases, how many times this code fires is our FPS. FPS generically means the times per second your game logic executes. Everything works in this way, including timers.
What actually happens in a keyDown event is that for some really high value, the keyboard is polled to see what keys are pressed. This is handled by the OS's "message loop." That information, about what keys are pressed, is then passed to your application. And your application gives you access to it either by using things like DirectInput or the keyDown event.
That's as far as I'll go with the input details, only to show you that this is your FPS: how many times per second you're notified that some key is held down.
The reason when you use key_press you're getting only one shot is that key_press is different from keyDown. KeyPressedEvent means that the key is pressed. It will stay pressed until released. When the key is released, the keyUpEvent fires, notifying your application that this key is no longer pressed.
By contrast, keyDownEvent means the key is actually being held down. Think of it like a panic mode. KeyDown is like "Key is held down! Key is held down! Key is held down!, ..." and keyPressedEvent is like "Key is pressed...we'll wait for it to be released, relax."
So, keyPressedEvent is fired once per key press, no matter how long that key is held down, whereas keyDownEvent is fired as long as a key is held down.
What you want to do is control the rapid-fire behavior in the keyDownEvent.
This is all the pointers I can give you unless I get more information on your implementation details, and I hope it helps! What you should do is consider keyDownEvent to be your "input loop" logic and then apply my previous post on this topic.
shotgunshell wrote:@kianoosh the problem is, if I change it to key pressed, the machine gun is no longer a machine gun, it's just a gun. Somewhere somehow I screwed something up, I just need to figure it out. I'm afraid I don't understand this frames per second stuff. I really should check out the language tutorial, I've never been able to get it before but I can always try again.