Chris PlaysOldGames's Forum Posts

  • Its only poor if it uses up too many resources or somehow gets in the way of other features or further development!

  • You can make the level size quite large, the doted line box is the actual camera viewed area. You can set whether the camera follows the player or not as well on the fly.

    I assume you are referring to a top down or isometric style map... Thus you could easily make a building in one area of a large layout that the camera is centered on until the player leaves then the camera can be set to scroll-to-player and will follow him through the land portion of the level.. you could easily teleport by simply moving the player and camera via setting player.x, player.y with a small sparkly poof....

  • Easy.... FAKE IT!

    Have your flame thrower throwing particles like normal.

    When flame thrower is active have it "shoot" invisible sprite bullet (a sprite set to invisible) that DO have collision and are destroyed after the correct range of your "flame".

    Now it looks like your flamethrower is dealing damage when its really invisible "bullets".

    Set the damage value to low on the bullets and their spawn rate to high and you get a very satisfying constant damage effect on target consistent with other flamethrower effects in games.

    P.S. Invisible sprite bullets are also good for directional magical spell attacks too...

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You would use something like "System every 1 second" to add a value to a time variable (ie. timeVar). You would then need a Text object or GUI text to display the timeVar for player. Then when its time to calculate bonus you would do whatever math you wanted via events from other variables like collected coins, bonus objects, etc..

    Ie. timeVar-levelTime (variable value for max time one would do level in base value so the lower timeVar is the more "bonus" they get) x [coinVar+bonusObjectVar] = scoreVar (to display)...

    Its a complex system between variables to store info and UI to display it. You will need to piece it together in a way that feels right for your game.

  • Give the sprite a bullet behavior, set the speed either in its properties or via event.

    Then all you need to do is use the bullet actions for angle and direction and set speed to 0 to stop so you get the effect your after.

  • You set up the tags in a configuration action usually during on-start event. Using the tag action you give your sound clip a "name" that you can then refer to anytime you need to grab or adjust this sound clip via an event action.

  • There are many ways to handle spawn points.

    You could use an event on-start-of-layout spawnpoint create player actions.

    For doors you could use on-overlap set player invisible, move to interior point x,y, then set visible...

    Or use variables: door1=0, door1=true/false, checkpoint1=1, etc.

  • Make an invisible sprite called "JumpZone" and place it where ever you want this behavior. Make an event that says when player is overlapping jumpZone and jump button pressed it simulates jump like normal. You might have to tweak the size, shape, and coding but it seems the easiest way outside complex math imho.

  • When you say "shoots off screen" I assume you mean moves off screen?

    You can either use bound-to-layout behavior attached to player object if he doesn't need to leave the screen ever.

    You can use sprites just off screen (or invisible sprites on screen) that stop movement using solid behavior or an on-collision/overlap event.

    You can use math... player.y <> #, stop movement.

  • 1. Check to make sure the layer they are on is not set to locked.

    2. You will need to either use a solid behavior on objects or build out zones using invisible sprites that act as collision bounds to stop movement.

  • You couldn't use (if condition is met.. ie. further than player.x/player.y - kitty heel position) kitty set bullet angle to player.x/player.y, set speed (kittySpeed)....

  • I am sure one of the math guys can give you a formula.. however, I can think of two other ways:

    1. Put an imagepoint in center (created in sprite manager) and use it to test overlap.

    2. Pin a small sprite to center on creation and use this sprite's on-overlap condition to kill player (you can easily adjust size and shape of "kill zone" this way).

  • In the conditions for your timer use a variable check.. say PlayerDead=0, then when player dies change this var to PlayerDead=1. The timer will then not run since PlayerDead no longer equals 0.

  • Double click the layout and select "mouse" from the objects.. just like you did to add sprite.

  • 1. I didn't add the second event condition bomber X on screen by right clicking and choosing add new condition. I added it by creating a new event, highlighting it and cut/pasting it into the original event... this left the new one empty and I forgot to delete it. It is simply that, an empty event with no value or function and should have been deleted. I didn't do it that way for any specific reason though either way is fine to add extra conditions to events.

    2. The second condition means that every 3 seconds AND a bomber object is not on screen. This simply keeps multiple bombers from being on screen at once. If you want multiple bombers then you don't need it.

    As for destroying off screen, this is an easy fix anyways. I usually use a large sprite I call "Destroyer" just off screen and use an on overlap with destroyer.. destroy and set all objects leaving the screen into a family that it destroys. Keeps me from having to condition each to destroy off screen.

    Lastly, I threw this code together quickly without even worrying about flow.. I just kept running it and as long as it worked I moved on... yes you would want to use a better top to bottom flow and use groups to make it flow better in a big project.