Ok, the way I see your problem is that there are two ways of doing it, depending on the outcome you want. You can either pick a time for hte bullet to take, or a speed for the bullet to go at. The time is easier, but it seems you want to use the speed, which is fine.
This will use some stuff i learnt in advanced maths extended. Yay for me :P
You've already got the distance from your character to the point on both the x and y axis, which is good. If you drew a triangle from one point to the end of those two lines, or vectors as they are, the distance of the line you draw is the square root of the sum of the squares, due to pythagorus theorum. a^2 = b^2 + c^2 if you know what i mean.
distance = Math.sqrt(Math.pow(dist_x, 2) + Math.pow(dist_y, 2))
that just takes the square root of the square of the x + the square of the y.
Then we divide each of those by this distance, to get what is known as the "unit vector" which is effectively just an angle, but not quite
unit_x = distance_x / distance
unit_y = distance_y /distance
Then all you need to do, is every time you want the bullet to move, you want it's x to be increased by the speed * unit_x and the y to be increased by speed * unit_y
I hope this makes sense to you. The end result should look something like this:
ActionScript Code:
onClipEvent(load) {
BulletMoveSpeed = 100
this._x = _root.player1._x +30
this._y = _root.player1._y +25
distance = Math.sqrt(Math.pow(dist_x, 2) + Math.pow(dist_y, 2))
unit_x = dist_x / distance
unit_y = dist_y / distance
}
onClipEvent(enterFrame) {
this._x = this._x + (unit_x*BulletMoveSpeed)
this._y = this._y + (unit_y*BulletMoveSpeed)
}
Hope this helps