Creating a New Laer Shot (cont)
If the length of the (x) side of our right triangle is greater than the length of the (y) side, the shot must be more horizontal than vertical. We set it to some value... oh ... say ... "shotspeed". This is a convenient variable to be able to control. "xsign" keeps track of whether the shot should travel left (-) or right (+). To set the other value, we set it as a percentage of "shotspeed". Since we know (x) is the longer value, (y)/(x) is the correct relationship to use to tell what length (y) should be.
Comment: shot is more horizontal than vertical Set Variable: "../shot"&shotname&":xmov" = ..:shotspeed*xsign Set Variable: "../shot"&shotname&":ymov" = ..:shotspeed*(abs_mouse_y/abs_mouse_x)*ysign Else Comment: shot is more vertical than horizontal Set Variable: "../shot"&shotname&":ymov" = ..:shotspeed*ysign Set Variable: "../shot"&shotname&":xmov" = ..:shotspeed*(abs_mouse_x/abs_mouse_y)*xsign End IfNow we set the final stage for the little laser shot to live out its life. We rotate the laser shot to match the rotation of the gun, and we tell it to physically start itself out at the center of the gun. From now on, the shot will control itself (the shot is currently programmed to keep moving until it moves off the edge of the screen.)
Set Property ("../shot"&shotname, Rotation) = angle
Set Property ("../shot"&shotname, X Position) = gunx
Set Property ("../shot"&shotname, Y Position) = guny
End If
| » Level Advanced |
|
Added: 2000-05-15 Rating: 6 Votes: 175 |
| » Author |
| Flashjunkie is a self-professed obsessive addict of life. Due to the highly artistic nature required of an Art Director for an Ad agency, he took up Flash to add some math to his diet. |
| » Download |
| Download the files used in this tutorial. |
| Download (30 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!