Yann's Forum Posts

  • Oh, indeed, my bad, you can discard all my replies I didn't see you were already doing what I discribed (:

    So for now I don't know why you have collision bugs, one of my hypothesis at some point was imprecision in the collision polygon or in the shape's position. But it seems you were pretty cautious here.

    So, dunno (:

  • well it's common practice to use an invisible rectangle as your true character and make the graphics/animation of your character follows it.

    What I discribed earlier is just the step to follow to have the least amount of thing to change in your event.

    Mainly transforming the original player sprite into the aforementionned rectangle (so you still control it) but before, you clone it to create a new object but with your animations in it, so you just have to re write the events concerning animation to target this new clone (clone isn't an instance by the way it's a whole new object)

  • Yeah new vid \o/

    Here I give an example as to how to use the timer system I created in the last video and at the same time a possible solution to a common issue with sound on some devices.

    Timing Audio:

    - twitch

  • Move at Angle angle(self.X,self.Y,player.X,player.Y)

  • well, in each case you click on both at the same time (:

  • knudle

    Give your bombs two instance variables

    • number "order"
    • boolean "activated"

    Then assign a specific order for each of your bombs starting from 0

    The event should look like that:

    Global number currentBomb = 0
    + System: bomb.Count > 0
    + System: while
    + System: order != currentBomb
        -> add 1 to currentBomb
    
    + bomb: order = currentBomb
    + bomb: [invert] is activated
        -> bomb: set activated to true
    
    + bomb: is activated
        -> do things

    != means different

    And be carefull this condition should really be a system event, not an object event (not object: order != currentBomb)

  • 1. clone your player object (rightClick clone and click on the viewport)

    2. rename it "playerSkin"

    3. edit your player object, delete all animations, delete all the frame of the default animation, and just put a rectangle on frame 0.

    This way you won't have to rewrite most of the code

    4. on event sheet do an "always -> playerSkin set position to player"

    5. just for the part concerning the animation on your event sheet, rewire that on the playerSkin object

    And be carefull about origin, put everything on the bottom it's easier

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • hmmm and what about

    +On start of layout
       -> player set defaultDeceleration to player.Platform.Deceleration
    
    +player: Platform is on floor
       -> player: stop ignoring Platform user input
       -> player: set Platform deceleration to player.defaultDeceleration
    
    +Player: [invert] Platform is on floor
       -> player: start ignoring Platform user input
       -> player: set platform deceleration to 0

    defaultDeceleration being an instance variable of player.

  • You should use a non changing invisible rectangular collision sprite as your character and then stick the stickman graphics on top and set it so it follows the invisible collision.

    Why?

    Because here you're collision is resized to fit your character while he is running.

    When you the frame changes from 1 (narrow collision) to 0 (wider collision) and when you're on slanted surface, the bottom corner of the rectangle collision gets into the surface collision. Usually you have a push off algorithm going on, but well... You can get stuck.

  • Tobye

    Gotcha! :D

  • Alright I updated the code with rex's little snippet and also I changed it a bit so now you can use hexadecimal value (inside strings)

    like:

    Bit.AND("0xf","0x6","0xa") //returns 2
    Bit.OR("0x3","0x1","0x1","0x4") //returns 7
    Bit.XOR("0xa","0xc","0x9","0xf","0x9") //returns 9

    And I think left and right shift weren't working before. Now I'm sure they do (:

  • Joannesalfa

    Yeah that's why I post the twitch link as well (:

    I just automatically upload the vid from twitch to youtube so there's always some processing times (seing how long my vids are)

    Paradox

    Thanks! Good point! And now that I think about it, I can't really split them on twitch, so you could have unsplitted vids on twitch and splitted on youtube for all tastes (:

    I think I'll do that for the next vids

  • A new vid on how to build a custom timer mecanism

    Custom Timers:

    Subscribe to Construct videos now

    - twitch

  • ArcadEd

    Nice I see you're making some vids too =)

    Little addition to your video:

    spr_Player: set health to max(self.Health-20,0)

    In your video we see the health bar sprite going into negative width.

    max(a,b) returns the highest of the two numbers.

    Anyway, I'd like to speak english as fluently, it would make my vids easier to make and maybe shorter :D

  • Tobye

    yeah you can export the dictionary data as JSON as well (: