GeoffB's Forum Posts

  • Here's what you want: runtime.goToLayout("layoutName")

    Reference: construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/iruntime

  • Is this the sort of solution you're looking for? construct.net/en/forum/construct-3/how-do-i-8/assign-specific-sprite-3d-173729

    In a nutshell: use containers for the 3D objects and their sprites, then you can pick the corresponding sprites without any effort.

  • Hmm, I recreated your example and don't have this issue.

    Assuming there's nothing else in your code setting size or anything, I suspect it's a rendering issue, not Construct itself. Try running it on multiple devices to see if the issue persists, and/or update your drivers and web browser.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You can use WebXR to interface with most VR devices. Integrating it into Construct will complex but doable if you know your way around js. Rendering to the device will be the real challenge though, and might not even be possible without using external libraries.

  • Set your animation names to "0" (right), "45", "90" (down), "135", "180" (left), "-135", "-90" (up), and "-45".

    Then use the following event to determine the animation to play:

    + LOSObject: Has LineOfSight to Target image point 0

    -> LOSObject: Set animation to str(round(angle(LOSObject.X,LOSObject.Y,Target.X,Target.Y)÷45)×45) (play from beginning)

    Here's a small c3p to illustrate: 1drv.ms/u/s!AhWRm9FAXcyGlbN5aRgM0vDfW9wzpg

  • I'm not sure what your intentions are with BBox, but if you want to check if a Sprite is overlapping any object, just use Sprite: Is Overlapping -> Object.

    Many object types don't have On Collision or Is Overlapping, but the Sprite object does and can always detect if it's overlapping with other objects.

    There's no direct way of checking if Text is overlapping something (although it's more-or-less the same thing), but if you really want to, you can create a new Sprite object and add it to a container for the Text Object. Set them to be the same size, and then use that Sprite object to detect collisions.

  • Yes, you can use TextObject.TextHeight/TextWidth to get the size of the actual text and set the size of the object from there.

  • Define an external deadline and work towards that. Knowing the work required to build a feature only really comes from experience, and right now gaining experience should be your priority.

    So find a game jam or anything with a hard deadline, decide "I'm going to make X", and work towards building that. Chances are you'll only be able to build half of X, or a quarter of it, and that's totally fine. Just make sure that you finish something by the deadline, even if it isn't what you envisioned. And when I say "finish", I just mean have a complete gameplay loop: start > play > succeed/fail > repeat.

    You'll quickly discover stumbling blocks and will have to choose how to deal with them. Bash your head against the wall for a bit and then move on. Reduce scope until you have the simplest game you can possibly make. Just make sure that it works.

    This way you are focusing on learning the tools, not mastering them. Build a few games with wildly different mechanics and before you know it, you'll find that the common elements like audio, UI, level management, player stats - whatever - become easier to handle and don't hold you back from doing the "fun stuff". Or maybe you'll find that you actually love doing UI and handling stats, and before you know it you've built a management game!

    I also recommend that you create micro-projects to test a single thing you have in mind. Ask yourself "how do I implement a text popup that shows damage dealt?" and make only that.

  • I've been using emoji quite a lot in event sheets since this idea came up, and have no issues so far. I only use them on function names.

    Just tested a few different ways of using emoji in file names and so far, so good, but I won't commit to doing this in any of my active projects for the foreseeable future. Better to be safe than sorry!

    If any issues reliably crop up I'll file a bug report, but for now I'm just gonna keep an eye on things.

  • The exported image files (spritesheets) are first loaded onto disk, which means downloading them if it's a web-based game. Then they are loaded into memory (RAM) as needed (when they're actually used in the game).

    To reduce downloaded file size, you can compress the outputted spritesheets. Construct can do this on export, but I've found much better results with third-party solutions like tinypng. And be sure you're using "de-duplicate" images on export.

  • In js, c3_runtimeBaseUrl returns the current url. You could extract the version from there :)

  • I don't want to sound mean but I think you need to spend some time with the tutorials and examples.

    Check out the Ghost Shooter example. You can see that the bullet inherits its direction of movement from the player object, because the player object spawned it.

    You should also check out the Beginner's Guide and Platformer tutorial, if you haven't already done them.

  • You want to set the Bullet's "Angle Of Motion", not just its angle - assuming you have added the Bullet behavior?

  • You could do something like:

    Touch: is in touch -> Cannon: set angle to angle(self.x,self.y,touch.x,touch.y)