fedca's Forum Posts

  • np!

    You could solve the problem by actually having one large layout and just give the feeling of rooms with camera bounds you change on entering each room. Bacause in that case the enemy would never have to be teleported.

    Is there a specific reason you use different Layouts?

  • DiegoM

    sounds great, looking forward too see whats next!

    yea scrubbing is probably mostly useful for in-editor and not that much at runtime.

    I hope music playback in editor is coming soon :)

  • I would use a while loop

    while enemyPosition = lastEnemyPosition

    set enemy position to random(min,max)

  • on layout change set float chaseDistance to distance(player.x,player.y,enemy.x.enemy.y)

    Every seconds if bool enemyNotSpawned = true subtract enemySpeed from chaseDistance

    if chaseDistance < 0 spawn Enemy

    This should work even with layout changes before the enemy spawned again.

    Or do you want to achive something like this:

    layoutA>layoutB>LayoutA Enemy is still in layoutA running to layoutB?

  • you could store the distance the enemy has to the player when changing the layout and delay the spawn of the enemy something like this:

    on start of layout, wait for: storedDistance/enemy.speed seconds

    spawn enemy

    Tbh I am not exactly sure if this works depending on the type of game you are going for.

  • Here you go, there might be a better way to do it, but it works. I had to use the chromakey add-on:

    construct.net/en/make-games/addons/331/chromakey

    let me know if you have any questions!

    c3p File:

    https://drive.google.com/file/d/1A8nDin9NkDpFjvPbTFEMA7g9lnV96Xya/view?usp=sharing

  • I have tried it, and I don't think there is a real difference as Windows-builds still run in Chromium/Edge webview 2, So it's still basically a Browser.

  • If you use constructs build-in save system https://www.construct.net/en/tutorials/savegames-313, there is no need to save to a dictonary or array.

    I would just use instance variables and let construct do the saving.

    With global variables you would need new ones per player and then pick the correct ones in functions. With instance variables you don't have that problem.

  • I would use instance variables on a player-family. Never destroy players, just disable and hide them if they die, etc.

    Secondly you could store the stats in an array or dictonary and load them into the instance variables on re-spawn. Only in case you really really see the need to destroy the player object.

  • yea no real problem there, just felt counter intuitive to have this action missing for tilemaps. As it is available for all(?) other object types that have collisions.

    But there probably is a good reason it's not possible.

  • alextro Thanks for your help!

    I checked your example, but I want to check if the player is overlapping the bounding box of the tileset even if there is no tile at the position of overlap.

    So checking for bbox left, right, top, bottom works that's not the problem.

    It just felt like I was missing a "is overlapping bbox condition" and was writing an unnecessary amount of events, visually cluttering the event sheet.

    but I think with the help of rojohound I found a tidier way to check for overlap of bounding boxes

  • just if a point is overlapping the bounding box...

    oh interesting yea I'm currently using 4 compares, that would definitly makes it a bit cleaner!

    I didn't even know you could do compares like that.

    then I could even do one compare like:

    (sprite.bboxright>tilemap.bboxleft)+(sprite.bboxleft<tilemap.bboxright)+(sprite.bboxbottom>tilemap.bboxtop)+(sprite.bboxtop<tilemap.bboxbottom) = 4

    thanks alot, at least it looks cleaner in the event view :D

  • sure, but then I would still need to store the correct tiles in an array, or add double the amoun of tiles to have a collision-less version for each tile.

    So RadioMars suggestion would probably be better than.

    Thank you nontheless!

  • RadioMars

    Thanks for your insight, your suggestions definitly sound like solid workarounds!

    still I wish disabling collisions for tilemaps would be available.

    I get that collisions work differently, as there are probably separate collision checks per tile or optimized tile-cluster.

    But from my naive point of view I would imagine this should still be fairly simple to add to construct 3.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Is there a reason you can't disable and enable collisons for the tilemap object?

    This would be useful for my case where I have a large generated world, each chunk is a separate tilemap object. I want to disable collision checks for far away chunks.