oosyrag's Forum Posts

  • No, that is unlikely to be the issue then.

    But the the fact that it's consistently device specific is important to follow up on though. Could simply be a graphics driver issue.

  • What device?

    Especially large videos can possibly have memory issues.

  • It's not that you're using for each, it's that your doing it every tick.

    Try adding every 0.1 seconds.

  • This is definitely usually done by the hardware. If not, it makes more sense to do it on the operating system/graphics driver level.

    If you insist on doing it at the application level, mesh deformation/distortion would probably be able to do what you want. I'd approach it by pasting the entire viewport to a (flat) drawing canvas, then distort the drawing canvas to achieve the desired keystone effect.

    No idea about the details though.

  • I imagine pressure sensitive d pad buttons could possibly be interpreted as axis. My own experience has similarly been that d pads are buttons though.

  • You would put the objects together in a family, and pick by family.

  • As an alternative plan in the meantime while you wait for a response that may or may not come, you might consider asking someone you know (maybe your parents?) for $16 to get a whole month's worth of subscription for an event instead of just a few days.

  • If you're downloading something and running it, it's potentially harmful, however unlikely. This is true for any game (or program attachment, ect.), of any type.

    If you're running a game in a browser off a website, you're pretty safe as long as you have the common sense not to download and run things you don't trust to be safe.

  • If you're playing online from a browser, there would presumably be no malicious executable on the local device for the app to execute in the first place. My concern was for an NW.js app that is downloaded to be run locally, which could potentially be bundled with additional executable files.

    On the other hand, you're already downloading an executable in the form of the NW.js app and running it anyways, so it's not really a big difference in the end.

    There are better things to worry about regarding children online.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Assuming your background is tiling, you simply extend it past the viewable area and center it horizontally or vertically under the player whenever the player moves a distance that is a multiple of the tile size in the respective direction.

  • Ok, so there's two parts to this. There are a few ways to go about it, but without knowing if you have a grid or array system in place already, I'll be using the system condition Pick overlapping point.

    On clicked, if the cursor is not over a cannon, check the 8 spots around the clicked location to see if a cannon exists (9 really, just to make it easier to loop through, even though we already know there's no cannon where we clicked). We'll check each overlapping point for a cannon, and pick it if it's there. If there are any (picked count > 0), then place the cannon. We'll use a system for loop for x and y location, from -1 to 1, multiplied by the width/height of the cannon (or your grid size basically) to go through each position. If there are no cannons picked/found, that means that was not a valid place to put a cannon and nothing happens.

    + Mouse: On Left button Clicked
    + Mouse: [X] Cursor is over Cannon
    + System: For "x" from -1 to 1
    + System: For "y" from -1 to 1
    + System: Pick Cannon overlapping (Mouse.X+LoopIndex("x")×Cannon.Width, Mouse.Y+LoopIndex("y")×Cannon.Height)
    + System: Cannon.PickedCount > 0
    -> System: Create object Cannon on layer 0 at (Mouse.X, Mouse.Y), create hierarchy: False, template: ""
    

    Instead of creating at mouse x and y you should use whatever snapping system you have to align it to your grid.

    If there is already a cannon where we clicked, we will be (randomly I'm assuming?) placing a cannon in one of the 8 spots around it, that doesn't already have a cannon. We'll need local variables to keep track of which position we randomly chose, check those positions, and then only if it's valid place the cannon and stop the loop. There will also need to be a way to stop the loop if every spot around the clicked cannon is unavailable. This part is significantly more complicated, haven't quite got it working yet. Maybe using a permutation table with the advanced random plugin would be the cleanest way instead of just randomly picking spots around the target...

    dropbox.com/scl/fi/mszw7bwp4vvglgmjo9siw/neighborcheckexample.c3p

  • Performance wise, pinning is more or less the same as moving or updating the position every tick, don't worry about it.

    While it is commendable to try to avoid every tick events whenever possible, it is indeed often necessary and suitable for certain purposes, such as displaying/updating the position of a moving object smoothly.

    If you wanted to waste time optimizing, you could add an additional condition and variables to keep track of past x and y position to compare with to check if the position of the player actually changed before running the action to update the location of the health bar. But that would be silly. (Don't do that.)

  • dropbox.com/scl/fi/n8obqdjizvv58o4bn6i28/quadrifoliumpathexample.c3p

    A quadrifolium is a polar equation, so you'll want to describe it in terms of rotations. Specifically, it has a sine curve with an angular frequency of 2, that is, for every full rotation, the sin cycle should complete twice. We happen to conveniently have both rotation and sine behaviors available to us.

    To rotate it, change the starting angle.

    PS: To adjust the duration of the cycle, you'll have to change the speed of the rotation and period of the sine wave proportionally. Rotation speed is in degrees per second, and sine period is seconds per cycle. Again, you want two sine periods per (360 degree) rotation cycle for a quadrifolium. So 360/rotatespeed will get you seconds per rotation cycle, and divide that by 2 for the desired sine period.

  • Add an instance variable to keep track of the state of the character, isClimbing or not, that you can check. If not climbing, then move onto the ladder and set the variable. If already climbing, then don't.

  • The most straightforward way would be to add a condition that checks if mouse/touch is overlapping a checkmark before doing the place action.

    How are you displaying the checkmarks? You can use the exact same logic to see if it is a valid location to place a cannon.