Need help with a very simple click-and-animate process..

Hi people. I just got GDevelop about a week or so ago and I’m learning how it works; definitely different from Game Maker.

I’m having trouble getting events and actions to work.

My “app” is very simple. In fact, it’s not even a game, it’s more like a toy. In short, you click a plate icon like a button, and another plate comes from the location of that button and goes up the screen until you hear a smash noise.

So what I need to do is:

Make a clickable “ob_nextplate” object to represent a button at the bottom of the screen.

When it is clicked, an “ob_plate” object appears on top of that aforementioned button object, by getting the matching X/Y coordinates, plus making the Z on top of that plate.

That “ob_plate” object, when instantiated, now needs to go up my screen, as if throwing it upward on the Y axis.

When the ob_plate is out of the screen, delete that instance, and play a plate-smash noise.

Have this entire process happen each time the user touches/clicks on that ob_nextplate object at the bottom of the screen.

I’m having a lot of trouble getting the events, conditions/actions, to doing all of this correctly. For example, I can’t make the ob_plate move once it’s instantiated. I can click anywhere on the screen instead of the ob_nextplate button, etc.

What is the exact formula to make this work?

I will check back on this post from time to time to make sure I have this down pat, and ask each and every question and report what I get.

When I started using GDevelop I also had problems to understand the relationship between conditions and actions. Conditions not only make the corresponding actions trigger when true but also act as a filter on which objects are affected by the actions.
For the ob_plate to move upwards just create a new event without any conditions and add a “y position of an object” action with a negative value to move all ob_plate objects in the current scene upwards.

In order to add a new ob_plate create an event for the ob_nextplate and add the condition “the cursor/touch is on an object ‘ob_nextplate’” + “mousebutton down or touch held ‘Left’” + “trigger once while true” in order to let it only add one ob_plate per click. (you could also use “mouse button released instead”)
Then add an action “create an object” and add the x/y position of your ob_nextplate “ob_nextplate.X() / .Y()” for the button objects X/Y coordinates. (if you need higher precision you can also add extra points to the sprite in the image properties and use these via “ob_nextplate.PointX(name_of_point) / .PointY(name_of_point)”).