thanks.. do you have an example project billiard?
If you follow the link provided, there are a few..
But because you seem like a nice person, I did a search for you, using the searchbox on the top of this forum..
But if you want to keep using your original code:
playerATB is overlapping
-- guardATB is not overlapping
set playerturn activated
-- else
-- guardATB.perception > playerATB.perception
set guardturn activated
--else
-- PlayerATB.perception > guardATB.perception
It would be much easier to compare..
something like:
If value > certain number
-- player.perception > guard.perception
player attack
guard attack
I'm not sure what you are trying with the collision-impulse, but adding a condition elevator compare Y > 250 to the yellow button pushed event seems to work for question 2..
Make sure there are no conflicting events..
I haven't seen your event-sheet, so I don't know how you have handled setting the player to ghost..
When setting the player back to "normal" you should also make sure the conditions for setting the player to ghost aren't true anymore..
Are the conditions for the player to be a ghost still true?
Seems like you have conflicting events.
Waking up without Spam for breakfast..
Yay!!!
Add timer behaviour to the player..
start the timer for 10 seconds when player becomes ghost
on timer - set player animation to normal..
Closing the app will reset everything.
If you want some values to stay, you should either use localstorage/webstorage or savegame..
Another option would be to use Ajax, php and mysql to store things online in a database..
Instead of using global variables, make ratio, dx, dy and ang instance variables of Sprite2 and all should work..
Add obstacle
If the Obstacles property is Custom, add an object to mark as an obstacle in the pathfinding grid. If this is done during the game (after Start of layout), you must also use Regenerate obstacle map for it to take effect.
So you seem to be missing the regenerate obstacle map - action.
Using the wait action this way is not the best practice..
You could use the timer behaviour, instead of the wait..
Develop games in your browser. Powerful, performant & highly capable.
So many ways to do this..
you have the rotate towards angle - action
The rotate towards position - action
the rotate behaviour
All depends on your needs..
(BTW: this topic should be in the How-do-I section of this forum)
Send the shadowlight object to the bottom of the layer - z-order
The triangle is rotating, so I'm assuming the originpoint is in the center..
Place imagepoints at the corners..
for imagepoint 1:
on bullet created - set angle = angle(triangle.x,triangle.y,triangle.imagepointx(1),triangle.imagepointY(1))
etcetera..