calminthenight's Forum Posts

  • Unfortunately no one can just tell you how to make an enemy AI. You have to plan what you want the enemies to do, think of every step; do you want them to move, if so how? do you want them to shoot, if so how? and once you know what you want you can apply your understanding of the engine to the problem. Learning the basics is the most important thing.

    The construct site and the homepage of the browser are full of tutorials and demos of all types. Browse there if you want to see examples. construct.net/en/tutorials/construct-3

  • Everything that oosyrag said. And then..

    The type of game you are trying to make is an on-rails shooter.

    If you type "on-rails shooter" into the search bar on the homepage in the editor there is a good demo project that is based on star fox that you can dissect and understand.

    EDIT: "Do a Barrel Roll!"

  • Create an imagepoint (1) at the left of the chain object and another (2) at the right then use this:

    EDIT: Here it is separated for clarity

  • Rather than use a tiled background you can use a tilemap and edit the collision polygons of each tile by right clicking them in the tilemap window.

    Or you could create an invisible sprite and place it so that it follows the contours of the ground, and then use that sprite as the solid object your car will interact with.

  • If you want to skip the first chain link, like in your example make it: Sprite.X-(Sprite.Width/2)+10+(loopindex*10)

    and get rid of the +1 in the repeat condition

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Having some difficulty following what you are trying to do. But even without knowing, your events don't make sense. When every tick is not specified, unless the event is a trigger it will run every tick anyway.

    Putting a wait three seconds action in an ever tick event means that every tick a new three second wait followed by your other actions is being executed.

    The reason all your enemies are being destroyed is because you tell them to be in event #23.

    Using a group in the way you are is not what you should be doing. You either want to have a boolean variable that determines if the laser is active, and then have events that happen if the that is true, or use a function.

    I suggest reading this section of the manual to help you get a better understanding of the basics of how the events system works.

    construct.net/en/make-games/manuals/construct-3/project-primitives/events

  • It's just a minor adjustment to the size of the preview window. It will not effect your game. If you full screen (f11) or resize your preview window to something else and then refresh (f5) it doesn't do it anymore. Nothing to worry about.

  • You can save the .c3p file to a cloud storage service like onedrive etc. and then post a link to the file in here.

  • For your first issue you can use sub events so that you can have the AND & OR events. Make a high level event something like: Object xxx exists and then nest your other events under that.

    I just want to clarify when you say 'casting your laser' are you talking about using RayCasting?

    for the second you can use a "for each" event to apply your conditions to each instance of an object.

    so

    For Each xxx

    Is distance(xxx.x,xxx.y,laser.x,laser.y) < minimum distance - Destroy xxx

    This will only destroy the instances that meet the distance condition

  • Post a link to your project file so we can have a look.

  • Have a look at this example: 1drv.ms/u/s!AkmrWgxeuxlKhIdZkdKXU98ZoXEpUg

    In this example the sideways movement when jumping is set to the vector X of the player when the jump key was pressed. This means that jump length is variable depending on how fast you were moving before you jumped.

    If you want to make it the same distance each time just set the vector.X in events 10 & 11 to the number you want, not the variable.

  • learning every day

  • No idea without seeing your code, but the example i posted above shows you how to achieve what you want by using an extra sprite.

  • Here you go: 1drv.ms/u/s!AkmrWgxeuxlKhIdYm8XDr_dp3KCtdA

    Is this the basics of what you are after?

  • I don't think you can make the turret behavior target a specific image point.

    You could however create a second invisible sprite, add it to a container and hierarchy with your other target sprite, and appropriately offset it so that the origin is where you want to be targeting. Then you just need to switch your target to the new sprite and make sure that the original still has the interaction with your projectile.

    Example: 1drv.ms/u/s!AkmrWgxeuxlKhIdX8ioRcCTXjjuwSg

    Otherwise you can create your own custom turret behaviour using events and use the imagepointX(), imagepointY() expressions to aim towards a specific imagepoint.