Now it works—Now it doesn't JUMPING

JoeMeisterJoeMeister Member Posts: 602
edited November -1 in Working with GS (Mac)
Just posted the beginning of my new game on GS.
One major problem. The jumping works fine BUT randomly the Ghost want jump.
Can somebody who is smarter then me check it out. Go back and forth, sometimes
it takes a while, its not in a specific spot. It's driving me nuts.
Also, the smoke coming out of the Fires is white on my computer. Why is it red once its uploaded to GS? See link below. Thanks!

http://gamesalad.com/game/play/86201

Comments

  • scitunesscitunes Member, Sous Chef Posts: 4,047
    GS is very bad when it comes to jumping. I have had this same problem with every version of GS for the last year and a half. It seems that GS does not have perfect collision detection and does not recognize that you are overlapping with the ground. Here's the workaround that seems the best.

    Create a boolean called OnTheGround

    Rule when overlaps with ground
    Change OnTheGround to 1
    OTHERWISE
    Change OnTheGround to 0

    Rule when up key is pressed
    -----rule when OnTheGround is true
    --------Accelerate 90 to scene (in a timer)
  • JoeMeisterJoeMeister Member Posts: 602
    Thanks man. I will try it later.
  • CodeMonkeyCodeMonkey Head Chef, Member, PRO Posts: 1,803
    1) You can have the fire and smoke in the same actor.

    2) The smoke is set to red, so you should be seeing red.

    3) You don't need a Timer with For 2 seconds around your Change Attribute behaviors. Change Attribute will activate in the beginning and do nothing else after that.

    4) Its better not to have all your instances unlocked. If you have all the fire actors have the same behaviors and animations, you should just be using the Prototype. It makes it a lot easier to edit all of them at once and have less actors on the scene.

    5) Accelerate in a Timer is okay, but it is more accurate to just change the Linear Velocity Y, but still using the rest of SciTunes' suggestion.
  • scitunesscitunes Member, Sous Chef Posts: 4,047
    @CodeMonkey - Does using LinearVelocityY still allow gravity (or 270 accel) and left right movement to work while jumping?
  • CodeMonkeyCodeMonkey Head Chef, Member, PRO Posts: 1,803
    Yes. It is just a single action change of the attribute and gravity will continue to act. Left and right will still work as usual. As long as you don't use the Move behavior for left and right movement.
  • JoeMeisterJoeMeister Member Posts: 602
    CodeMonkey said:
    1) You can have the fire and smoke in the same actor.

    2) The smoke is set to red, so you should be seeing red.

    3) You don't need a Timer with For 2 seconds around your Change Attribute behaviors. Change Attribute will activate in the beginning and do nothing else after that.

    4) Its better not to have all your instances unlocked. If you have all the fire actors have the same behaviors and animations, you should just be using the Prototype. It makes it a lot easier to edit all of them at once and have less actors on the scene.

    5) Accelerate in a Timer is okay, but it is more accurate to just change the Linear Velocity Y, but still using the rest of SciTunes' suggestion.

    Thank you Thank You, as always. I got the jump,left,right from somebody else here at GS and it had the 2 seconds thingy in it, so I didn't touched that.
    And thanks also for the tip of making flame actor and smoke ONE. What was I thinking?

    Thank you
  • JoeMeisterJoeMeister Member Posts: 602
    Still no Luck. Spent another 8 hours today (see updated file: http://gamesalad.com/game/play/86201) but nothing has been solved.

    Jumping works most of the time but stops in certain areas.
    Get the coin under water to the left. You can jump under water but
    after you pick up the coin the Ghost want jump until he hits
    the vertical bar/wood all the way to the right. Same in the area towards
    the middle of the Game where the large vertical bar/wood is.
    After you cross the bar and jump down on the right side and go back left
    on the lower level the Ghost will stop jumping after you crossed this bar.
    Once you go back to the right he will jump again after crossing that bar.
    I took everything apart today and tried a thousand things....nothing.
    Is there a way to attache screen shots to these messages/cry for help?
  • scitunesscitunes Member, Sous Chef Posts: 4,047
    Add a display text behavior and put the OnTheGround attribute in it (Just stick it in the main ghost guy). Try to figure out where it is not triggering. Try pulling out the current ground actor in that spot and dragging another one in.
  • JoeMeisterJoeMeister Member Posts: 602
    scitunes said:
    Add a display text behavior and put the OnTheGround attribute in it (Just stick it in the main ghost guy). Try to figure out where it is not triggering. Try pulling out the current ground actor in that spot and dragging another one in.

    Yeah, I did that, too. Created new actor, totally simple, nada. Verdammte Scheiße.
    Try it out. The file is there under JoeMeister. (It's called: To come)
    I am on to something...really great game idea...but I am ready to throw in the towel.
    It's just not fun anymore when you stuck on something that stupid for so long.

    HELLLPPPP!
  • scitunesscitunes Member, Sous Chef Posts: 4,047
    I'm going to take a look at it now.
  • scitunesscitunes Member, Sous Chef Posts: 4,047
    I just DLed it and I don't see the code that I suggested above. I checked both the player prototype and the instance in the initial scene. You really should try what I suggested above.

    The Rule with the "while colliding with ground" just doesn't work even though it should.

    EDIT: I'm a douche! That suggestion is WRONG! SORRY! Here's what I had to do:

    Rule: When collides with ground change game.OnTheGround to 1

    Rule: When game.OnTheGround is true
    -----Rule: When game.jump is true
    --------Jump behaviors

    In JUMP Button actor

    When touch is pressed
    -----change game.jump to 1
    OTHERWISE
    -----change game.jump to 0
    -----change game.OnTheGround to 0
  • JoeMeisterJoeMeister Member Posts: 602
    Problem solved!!!
    It was of course all my fault.
    I had an extra rule in there "when actor touches ground"
    which wasn't necessary since I already had the Boolean attribute assigned.

    Thanks to all involved.

    Fixed:
    http://gamesalad.com/game/play/86201
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    JoeMeister said:
    Problem solved!!!
    It was of course all my fault.
    I had an extra rule in there "when actor touches ground"
    which wasn't necessary since I already had the Boolean attribute assigned.

    Thanks to all involved.

    Fixed:
    http://gamesalad.com/game/play/86201

    bet you feel like a weights been lifted off your shoulder lol
  • JoeMeisterJoeMeister Member Posts: 602
    Yes. Absolutely.
Sign In or Register to comment.