signaljacker's Forum Posts

  • Hi, I'm wanting to make a flip-screen system similar to old games such as Prince of Persia, Flashback etc whereby single screens are displayed until the player ventures to the edge at which point it flips to another screen - the thing is I don't want an abrupt jump, I want to scroll the screen to the next point.

    I've set up a camera object with the scrollto behaviour and figured I would hardcode some values and move the camera with lerp when the player was in the correct area of the screen. The thing is it's not behaving the way I expect it to, if you look at the attached capx you'll notice that I've hardcoded the camera to move to 960 pixels if the player x is greater than 640 - but it never gets there, it always stops at 941 pixels! Can anyone tell me why this is happening?

    capx here

    Also, if there's a more elegant way to achieve this effect without hardcoding a bunch of coordinates I would love to hear it! Thanks for any help.

  • That did the trick, thanks! :)

  • Hmm, changing it greater or equal it works here (and stops at 320 for me) but unfortunately it won't be flexible enough for what I need it to do. Thanks for your help anyway though.

  • In the example capx - at least on my end even if you slowly position the sprite to 320 and leave it sitting there it still doesn't register. Slowing the speed right down yields the same results, it doesn't seem to register at all.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Rough example showing the problem

    I'm trying to trigger an event when the player hits a certain x coordinate on the screen - in the example attached when the player hits 320 pixels the top textbox should change its text to say "done" - but for some reason it doesn't work.

    If I store the x coordinate as a private variable and test that instead, it sometimes works - but not reliably. I know I could use an invisible sprite to trigger this but I would prefer not to, and am interested to see why construct doesn't play nice triggering events from screen positions. Any advice appreciated.

  • You can find it directly above "set immovable". Immovable is a bit different from disabled - physics objects set to immovable simply don't move but other physics objects still interact with them. If you actually disable the physics on an object however then other physics objects will no longer interact with it and this can sometimes be beneficial as a lot of physics objects on screen at once can slow the game down. It all just depends what you need anyway I did a quick example which shows you how it works with physics disabled on collision example

  • All you need to do is put an event in that disables the physics behaviour of the knife as soon as it collides with the target. So your events would be something like:

    (Event)

    For Each Knife

    Knife is overlapping Target at offset -10 (this will ensure the knife overlaps the target by 10 pixels and looks like it has pierced it)

    (Action)

    Knife Set Physics Disabled

    That should stop the object but retain the angle etc.

    The only issue with this method is it is indiscriminate about which part of the knife sticks into the object (so if the handle hits the object it will still stick in)

  • I would like to know how to do this too - the only way I've worked out is really stupid and involves setting everything to have platform behaviour and then using the "has wall to left/right" conditions like this. But it doesn't seem like a good way to build things and I bet having a platform behaviour on everything will slow the game down.

  • It could be done several ways, here is one example.

  • Ahh yes, I see what you mean now. I believe construct classic had the condition "object overlaps point" which appears to be missing from construct 2 at the moment. Hopefully soon we'll have a more robust collision system.

  • Hi, I'm not quite sure what you're trying to do, but is it necessary to find out where the ball is on the actual slope rather than the screen itself? If you just track the x and y coordinates of the ball on the screen then you should be able to use that info to do various things - for example you could pick a slope nearest to the ball and then spawn an object at the ball's current x & y coordinates.Example I may be missing the mark here, but it's hard to tell without knowing more about what you're trying to achieve.

  • Just use a low pass filter, this filters out the higher frequencies and leaves the lower bass frequencies which is normally what you hear when you're standing outside a nightclub. Even the default frequency on the low pass filter construct 2 uses of 350 will probably make a pretty convincing effect, drop the number lower to cut out more frequencies in the higher end of the audio spectrum if necessary.

  • I've noticed construct is a bit picky about its wav import. Are the files mono or stereo? Are they 16 bit? I'm not sure of the specifics, but in my experience exporting a 16 bit stereo wav file out of audacity or any other audio program works fine, other settings give mixed results. If you've downloaded the sound effects from somewhere try re-exporting them in your audio editor and it should hopefully do the trick.

  • It's hard to tell without looking at a .capx - but have you tried something like floor(lerp(Self.width,Self.Width*2,dt*self.scrollspeed)) - not 100% sure of the syntax - but using floor will force integers rather than fractions, which is what could be messing up your sizes perhaps.

  • Thanks, this is a really great resource!