For the mirrored sprite upon hitting an angle, this ought to work:
For the pickupable gun and the menu, those are two separate things
One approach just to get the simple pickup/gun fire working might be to:
- Create a Global Variable 'PlayerHasGun1' or something similarly named
- When Player collides with the gun sprite in the game, set this Global Variable to true
- Destroy the gun sprite they collided with
- Spawn a new gun sprite at a particular Image Point attached to your player sprite so that it moves around with the player
- Make an event which says something like "if 'PlayerHasGun1' = true, when player presses (fire key), spawn bullet with acceleration 50 at image point 2 on the gun sprite
- (Note: you also need to create separate events to check for any bullet collisions with enemies, and if collision is detected, destroy them)
If you are going to have several types of guns, it may be worth having an array instead. Then you can look up certain positions in the array in order to see whether or not the player has that gun currently available.
On that note, for the menu and gun selection, I would...
- Create a global variable 'CurrentlySelectedGun' or something similar
- Create a new layout before your game just for the gun selection.
- Set up your sprites with an 'active' animation (gun available) and an 'inactive' animation (gun not available)
- On the start of the layout, have the game check your gun array/global variables to see which guns the player has
- Then you can set the sprite animation to either the 'active'/'inactive' animation dependent on which they have unlocked.
- You can also then disable those sprites as clickable or not clickable (enabled/disabled) according to whether they've unlocked them
- Then once a player clicks on a particular gun, you can set the global variable 'CurrentlySelectedGun' to whichever gun they chose and tell it to go to the game layout
- At the start of the game layout, have the game check the value of 'CurrentlySelectedGun' and spawn the correct gun at an image point attached to the player according to which they have selected
...It sounds complicated, but actually, working your way through this you'll pick up a lot of the basics you'll need to complete the rest of the game if you get stuck I can try to make a quick .capx prototype for you to follow.