oosyrag's Forum Posts

    You should make a bug report on github with what you have regardless, this is not a good place to make a report if you hope to eventually have action taken.

  • Lower memory footprint by having a smaller pixel size of the source texture. Looks better when "scaled".

    Honestly pretty negligible relatively speaking, but it definitely has merits as a "best practice".

  • Have an instance variable for your bullet called "ownerUID".

    on fire ->

    player spawn bullet

    set bullet variable ownerUID to player.UID

    bullet on collide with player

    if player.uid not equal to bullet.ownerUID ->

    deal damage

  • 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 an invisible, thicker wall if aesthetics is a concern, and show a visible thinner wall over it.

    Depending on which behavior you're using, there may also be a "stepping mode" you can enable to bypass this problem at the cost of CPU performance.

  • construct.net/en/forum/construct-3/how-do-i-8/best-help-tips-forum-139528

    First make 3d fps game. Then add blood.

  • construct.net/en/make-games/manuals/construct-3/plugin-reference/audio

    Is tag playing

    True if any audio with a given tag is currently playing.

  • Other method I remembered for having everything in one layout, besides using layers, is to use different, separated positions on the same layout (teleport/scroll to another screen or area)

    As mentioned, beware of memory issues. Layouts are useful for memory management - to separate what textures are loaded in memory at a time. Again it depends on your game. Some games push the limits of memory usage, some don't.

  • I recommend using an invisible "target" helper sprite , and having your mask object move to the target's location.

    If you use a helper object, you have many options, like spawning it in a container with the base object, pinning it, or using the move at angle action to position it.

    By math, the formula to get a point from a set distance and angle from another point is:

    Target.X = Origin.X + (distance/cos(angle))

    Target.Y = Origin.Y + (distance/sin(angle))

    Although you have to make sure not to divide by 0, and sin and cos can definitely end up as 0 so I'm probably missing something there...

    Edit: Brain no worky in the middle of night.

    Target.X = cos(angle)*distance+Origin.X

    Target.Y = sin(angle)*distance+Origin.Y

  • Yes, events no longer process on layouts that are not active, effectively "stopping time" for that layout.

    As others have mentioned, you'll need to add events for the time to "catch up" to current time, by using the expression to find out how much time has passed since you left the layout.

    Another option is to not use layouts in the first place, if possible for your game. You can use layers instead, and hide visibility (and remember to account for controls or input so they do not work on invisible layers). This way, all your "scenes" are actually on the same layout and running, just hidden.

  • wiki.creativecommons.org/wiki/CC0_FAQ

    In general, yes, if all of the work included in your bundle was indeed published as CC0 by the original creator.

    There are exceptions - CC0 surrenders legal ties between creator and work to the "greatest extent legally permissible". Read the FAQ for more information.

  • It might be a CORS issue.

    The host needs to allow ajax requests from external domains (such as project preview from construct.net) to reply.

    Try to see if it works if you export your project and upload/host it on the same domain website (potato-time.jp). This will bypass any CORS problem.

    Otherwise, if you have admin access to the server or host, you can add

    Access-Control-Allow-Origin: *

    to the server header to allow ajax requests from any domain on the web.

    cors-test.codehappy.dev

  • What are you trying to do? Https:/ /test.php is not a valid URL.

  • What? The ListRoomState expression has always been available AFAIK. Compare the value ("available", "locked" or "full") to allow for joining or not.

    Alternatively, you can compare ListRoomPeerCount <= ListRoomMaxPeerCount as well.

  • There is often more than one way to go about doing any particular thing, some methods may make more sense for a certain person or project or workflow, so I wouldn't necessarily say pointless.

  • For each new scrollto object/instance you add, spawn or create it at the current viewport center, and tween or lerp it to the destination point. You can use an invisible helper sprite(s) and pin to the destination object after it reaches the destination.