Quote: "or do i need to make the "angle" of the dragangle global and use that? "
That depends, is your main angle function out of the main program ?
Your jumping function to function so yes, set everything in a global so every function is updated to use that info.
So you touch the screen and a bullet follows that direction and its angle is set.
Quote: "gun.bullets[i].angley= Gun.Bullets [ i ].speed *GetRawTouchCurrentY(1)"
This does not check your fingers angle if you are needing this for a phone.
You need a lot of different checks for the bullet angle on the path it is following.
so if spritemovey=1 then setspriteangle so on and so forth.
Or just set your sprite angle to turn around as it follows a path .
I would add a helper sprite for the bullet to face at all times.
Keep that sprite in front of the bullet at all times.
I searched and found this example, this will rotate a sprite at your fingers pos.
// Project: SpriteAngleTest_forum
// Created: 2015-07-25
// from an Forum question, 17july 2015.
// < http://forum.thegamecreators.com/?m=forum_view&t=214944&b=41 >
/* This assumes that the inquirer want to rotate the the sprite around its center point,
when he moves the mouse or his finger(smartphone) around on the screen !?
// set window properties
SetWindowSize( 1280, 800, 0 )
SetDisplayAspect(16.0/10.0) // Everything converts to percentage values.
local state = 0
local dx#, dy#, angle#
spr = CreateSprite(0)
PX# = GetPointerX()
PY# = GetPointerY()
if GetSpritehitTest(spr,PX#,PY#) = 1
state = 1
if state = 1 and GetPointerState() = 1
dx# = PX# - (getspritex(spr) + 10) // calculate x coord distance
// getSpriteX(spr) + 10 to get the center
// of the sprite.
dy# = PY# - (GetSpriteY(spr) + 1.5) // calculate Y coord distance.
angle# = ATan2(dy#, dx#) // returns the angle in degrees.
state = 0