Move the following code out of the if statement:
| temporizador += (float)gameTime.ElapsedGameTime.Milliseconds; |
| |
The problem is that your delay timer is only accumulating time when you press your fire button. You want it to accumulate time at every update.
I also notice from the video you linked that there appears to be a limit on the bullets the character can have active at any given time. If you want to implement that, then you will need to maintain a counter that decrements everytime you shoot and then increments everytime your bullets hit an object or boundry. Then add a check to your if statement that only fires a bullet when the counter is above 0.