R0J0hound's Forum Posts

  • Edelplastic

    Positions are relative to the canvas itself. So you have to subtract the canvas' position.

    For example

    (sprite.x-canvas.x, sprite.y-canvas.y)

  • The same as above but instead of at the start of layout use every x seconds or something.

    To only have tiles near the player bubble, use the pick by comparison condition with the distance expression to only pick tiles in a radius from the player.

    You could also compare the x and y positions of the tiles to the edges of the screen.

    Like for x you could do the picking like this:

    X > viewleft

    X< viewright

    The same could be done for y.

    A third idea would be to have an invisible sprite pinned to the player and then only pick tiles overlapping that tile.

  • It depends how you have the grid.

    The easiest would be to have the red grids each be a separate sprite instance. Then you could give those squares a boolean instance variable "empty" with an initial value of true.

    As an example say you wanted to create 100 trees, you could do this:

    start of layout

    repeat 100 times

    redgrid is empty

    pick redgrid at random

    --- create tree at redgrid.x, redgrid.y

    --- redgrid: set empty to false

  • It should work on any html5 platform I imagine.

    The second will be garbage collected after that javascript is run, since nothing is referencing it at that point.

  • Yeah, it's the term used in physics math that tells how bouncy collisions will be.

    It's usually in the range of 0 to 1.

    0 is no bounce at all.

    1 is a perfect bounce. For example a ball dropped should bounce up to its original height.

    You can use value greater than 1 for stuff like a super ball or something.

    Another thing to keep in mind is the elasticity of both objects is taken to account for the collision.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This could do it.

    Start of layout

    For each block ordered by random(1) ascending

    System compare: loopindex<3

    --- wait 1.5*loopindex

    --- array set at loopindex to block.uid

    --- block flash for 1.5 seconds

  • I'd say it's not related to C2. If it happens reliably then by all means post a bug report, but getting keyboard input is a standard thing for software to do and they all do it the same way.

  • There's this one that's been up for a bit:

  • If you're willing to put in the time go for it. The file format changing a bit as c2 advances is inevitable, and if you're serious you'll have to somehow keep up as c2 gets updates. I highly doubt the file format would be changed just to counter a third party compiler, there's no point for that.

    Focus small first and see if you can convert over layouts with just sprite objects. I don't use unity, but if you're familiar how you work with their projects format I imagine you could probably get that working rather quickly.

    The events would be the next hurdle. Start by sticking with just the system and sprite events. To me this is much more complicated to do since users will expect things to work the same in unity as in c2. If it didn't it wouldn't be useful. The nuances of how events work would be the tricky bit there.

    Get to that point and you'll have most of the groundwork done. From there you can start working on all the other plugins and behaviors. That is probably what will eat up all your time, and that's the point where I dismiss my own idea of such a project.

    megatronix

    Wouldn't such a project be like native? Or do you mean creating an engine from scratch?

  • With the truck facing right the offset of the turret to the truck is (-13,-8).

    Then you can set the position with

    turret.x = truck.x -13*cos(360/72*truck.animationFrame)

    turret.y = truck.y -8 -13*ratio*sin(360/72*truck.animationFrame)

    Now "ratio" is the ratio from the visual height to the visual width of a isometric square. Depending on the angle of the isometric projection the ratio will be different. I was expecting 0.5, which is 26.5 for degree, but that didn't look right. So I measured the roof of the truck at 0 and 90 degrees. It was 8 pixels wide at 0 degrees and 22 pixels at 90, so the ratio is 8/22 or 0.36, so the angle is 20 degrees.

    So you could write it like this:

    turret.x = truck.x -13*cos(360/72*truck.animationFrame)

    turret.y = truck.y -8 -13*tan(20)*sin(360/72*truck.animationFrame)

  • I think there has been a few topics about this sort of thing. Also this tutorial may be of use:

    https://www.scirra.com/tutorials/1447/u ... tial-games

  • Testing it in windows 7 it seems you can't run the exe if it's in certain locations.

    If I run:

    "c:\windows\notepad.exe"

    It works, but if I copy notepad to "c:\tmp" and try to run that:

    "c:\tmp\notepad.exe"

    It doesn't work.

    I'm guessing it may be some security block, but i'm not sure.

  • The url you posted doesn't work. You need to put spaces in it or put it in a code tag until you have enough rep.

    Without that there's nothing to help with, since your description is missing a lot of detail.

  • This is a repeat topic of

  • Joannesalfa

    Not really a limit but the result needs to be put in a texture so C2 can render it. With canvas2d it's simple, just directly modify the canvas which can be drawn like any other image. With webgl it's trickier. The image needs to be copied into a texture. What's currently done is a whole new texture is made instead of just replacing the current pixels. If it was changed it would be faster I suppose, and perhaps could help with the memory leak, but I've been avoiding most coding lately.