The easiest way is to put all variables into a dictionary. Then write Dictionary.AsJSON to a text file.
To load: read the text file and use 'Dictionary Load from FileSystem.FileText'. Then extract all variable values from the dictionary.
That depends. If you're running your game as an Android app on Google TV, the remote will likely function as a standard gamepad.
If you want to use an IR remote on a PC, you'll need an IR receiver, a driver for it, and possibly a Construct addon.
"Is visible" condition should be above "Pick random". You want to first pick all visible instances, and then pick a random among them.
The problem is that objects are not destroyed instantly. So the loop can still pick the spawner instance which has been destroyed. A simple solution is to check another condition, say make destroyed spawners invisible and pick only among visible instances.
+Repeat NumberToGenerate times ++Spawner Is Visible ++Pick a Random Spawner Instance Spawner: Spawn EnemyBase Spawner: Set invisible Spawner: Destroy
Definitely use the hierarchy feature, remove all containers. You can create the entire menu on a different (unused) layout, add all objects to a hierarchy. Tick "create hierarchy" checkbox in "Create object" action. This will create the entire menu!
I'm not sure I understand. Do you want to re-color portions of the sprite in runtime?
We use ReplaceColor effect in our game and it works quite well.
Because you are not picking an enemy instance. If you have multiple enemies, without picking, the distance() expression will only check one of them.
I suggest using Line Of Sight behavior instead - add it to Enemy sprite, set distance to 150px.
Enemy has LineOfSight to Player : Player subtract 1 HP
Also, if you have multiple enemies, disabling their event groups is not a good idea. It will obviously disable all enemies, not just one.
You can access the file in plain text using this link:
https://drive.google.com/uc?export=download&id=FILE_ID
However, you probably won't be able to request it with AJAX because of cross-domain restrictions. Ask ChatGPT about how to do this with Google Apps script instead, it's pretty good at that stuff.
Yeah, you can simply use a second sprite for shadow. Or paste the plane and other objects on a drawing canvas. And apply some effects to it - 0% brightness, blur etc.
Why is it not a good idea ? Im using js and html objects for things like drop down menus etc, ofc might impact performance if there is alot of html elements but i havent noticed yet.
I have a bias against using HTML objects since the days of Construct 2 - there were tons of issues with them back then. But I admit that almost all of those problems have been fixed now. Still, I remain a bit skeptical :)
CSS means using HTML object instead of Text, which is not a good choice in many games.
fanusgames Here is a demo:
dropbox.com/scl/fi/qne4sezq4tnml8vb2pbrw/TextAutoSize.c3p
Make sure the height of the text box is big enough to fit two lines of text at max size, otherwise TextHeight expression won't work.
It's a known issue, fonts are rendered differently on different devices.
Make sure the font is imported in the project.
Try different Vertical Alignment options.
Try a different font
If nothing else helps, use a SpriteFont.
howtoconstructdemos.com/easily-save-multiple-values-in-local-storage
Develop games in your browser. Powerful, performant & highly capable.
When I assign a '-' value to Y, the character dies when it touches the underside of the platform.
Then add another condition, checking that the character is above the platform. Character.Y<Platform.BBoxTop
You can also place an invisible sprite with a smaller polygon size inside the platform and use it for collision checks.
Use "Overlapping at offset" condition. X:0, Y:-2
I also suggest changing your events like this: