GeoffB's Forum Posts

  • You could save them in local storage as base64. Not sure how efficient that is, but storing/extracting is pretty straightforward given you’ve done most of the work already. Then just keep a record of what has been downloaded, and only download images if they’re not in the record.

  • Okay, so picking raw object names by expression is a bit fiddly. I suggest you put all of the JSON objects into a family. Create a family variable called index or whatever and do something like:

    for "json" from 0 to jsonFamily.objectCount

    pick jsonFamily where index = loopindex("json")

    do thing

    Alternatively you can use a single JSON object and instantiate it however many times you need. Then in the loop use JSONobject(loopindex).Get(".Value")

  • Not 100% sure what you're trying to do, but I suspect you want something like this:

    JSON_LEADERBOARD.Get(loopindex&".Value")

  • I just tested this in multiple browsers, multiple devices, and different refresh rates. When running at 60fps or less, the jitter happens. The physics object never enters a sleep state. The results are consistent, so I think this might be a bug.

    (You can test this yourself by setting framerate mode to unlimited in project settings)

  • I just did exactly what you described, and I see no jittering. c3p file: we.tl/t-2nXedOGIQc

  • Set the HUD layer to 2D under Appearance -> Rendering Mode in the layer properties, and its scale rate & parallax to 0.

  • There's no reason for physics-based objects to vibrate, even with gravity set to 1000. Do you have any other behaviors on the player object, like platform movement? Any non-physics-based movement will seriously mess with the physics behavior.

    PS: A way to fake additional gravity on an object is to apply a downward force to it every tick.

  • Lately I've been working with external scripts, and you are not alone in your confusion!

    Here's a link to a simple project: we.tl/t-FWO09cvUWq

    It takes two numbers supplied as parameters and adds them together. It mixes event sheets with JS. Hopefully this helps.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You need to export the function so events can access it. In your script, change the line to: export function loadVerses()…

  • Sure, I'll see what I can do. I can't download that file though, please share it with open access.

  • I was wondering how to do this as well, so I did a quick experiment. If you pick an instance of the referenced sprite to change, it will only change that instance which the 3d object uses.

    I expect there's some secret picking going on behind the scenes so I'm not sure how far this can be taken, but hey, it works.

    we.tl/t-DhU4le1S1D

  • Testing on mobile has its complications. I don't think there's a way to just "summon" the keyboard without a text input object being focused. But the keyboard plugin doesn't pick up keystrokes from a text input, so that's not really going to help.

    That's what I've discovered, at least. For my own purposes, I just use on-screen buttons and sliders, and map them to my debug commands. Put them on a separate layer that can be toggled with a button. If you really need a keyboard, then you can use a Bluetooth keyboard or a USB keyboard with an adaptor if necessary. It's messy, but it works!

    Edit: I only just understood your question, sorry about the wrong answer! You're asking about Construct itself 😅

  • I'm assuming there's code that builds the level on startup based on the level variable. If that is the case, just use the "restart layout" action.

  • Make sure there’s an instance on the layout itself, then select that.

  • I suggest you use multiple tile map objects ("chunks"). Just spawn a new one and populate it before the player reaches it. Don't forget to delete the old ones if they aren't going to be seen again.