Lou Bagel's Forum Posts

  • Maybe try setting speed to 0 then change direction and add speed back.

    For your PS is there a reason why you can't set Angle to Angle(currentPosition.X, currentPositionY, targetPosition.x, targetPosition.y) ?

  • If I recall correctly, the P-Meter in SMB3 made you accelerate faster as well as make you run faster...

    I initially thought the same thing but as I was posting I reasoned it was probably that you subconsciously thought you were speeding up just because the P meter was filling up. I think there were actually only three speeds: 1) no sprint 2) sprint 3) full P meter.

    But not sure because I haven't played in forever—need to change that!

    Those specific details are really irrelevant to what I'm doing though as I don't care to clone exactly but learn from it. But I still find it interesting to dissect it. Even those subtle changes of speed helped make the game great (IMO) but are often overlooked. I can still remember specific spots on levels where it was difficult to get that running start that you needed.

  • Also thanks, now the water level music is in my head.

    Lol Mario music has been stuck in my head for a while. Can't wait for the NES mini to come out.

    Will try it out this weekend or early next week and post. Thanks

  • Just change the fall speed for tanooki.

    Overlapping for water, set the jump speed low, fall speed low, and add a on keyboard simulate jump for unlimited double jumps.

    Edit:

    Simulate won't work, use set vector x, and y according to mirrored, unmirrored.

    Was going to say 'ah, if you can have unlimited double jump then it should be much easier' but just saw your edit pop up. So no unlimited double jump?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • **Note: First post is initially forethought to get some insights. Will try to post features as created or specific troubleshooting questions as I go so can be a reference post to others.

    I have been thinking of how some of the features from Mario 3 could be created in Construct. I am not remaking or cloning Mario but understanding how to create some of those features would help in implementing my own.

    Features I'm thinking of:

    • Sprinting/Turbo: probably not difficult: change movement speed and jump strength when button held. Only change if on ground though? Enabling turbo mid-air doesn't seem right. And I believe Mario you could run faster/jump farther if you got a small running start. So maybe start timer upon sprint start and increase speed and jump strength even further upon that timer.
    • Flying Racoon: Not sure if should switch from Platform to Physics or custom movement behavior. I don't see how with Platform behavior you can recreate the upward movement upon tail flick, unless you can reset the double jump every time.
    • Swimming: Similar to the flying but also have to detect when in water. Not sure the best way to do that without taking a lot of cpu with collision checks. Also need to detect when near the top so can change from swimming to the jump out of water

    That is probably enough to focus on now. I'll post an update when I get a chance to try it out.

  • You can take a look at this:

    https://www.scirra.com/manual/150/containers

    It is easy to setup—just click on an object and look for the container property in the property bar.

    Don't have a lot of experience with them but most importantly: (from the manual)

    Placing objects in a container has the following effects:

    If one object in a container is created, every other object in its container is also automatically created.

    If one object in a container is destroyed, every other associated object in its container is also destroyed.

    If a condition picks one object in a container, every other associated object in its container is also picked.

  • Easiest solution would be to add them to the same container—when one item in a container is destroyed all are destroyed.

    But you should also try to understand better how instances are picked, it will help you in the long run.

    if you do when player collides with enemy_1 then the player instance and enemy_1 instance will be picked. But you have not picked any enemyAnimations instances yet so all are picked. So if you destroy enemyAnimation then all of them will be destroyed.

  • Add action->select Rockets_image->Under the category 'Angle', which should be at the top, choose 'Set Angle'

    This should open up a dialogue box and you can enter 'The_Rocket.Angle'

  • I reread your first post and understand better.

    I would make an instance variable on the player called "sprint"

    On Double tap set sprint to true

    On any touch release set sprint to false

    If sprint is true set run speed to X

    If sprint is false set run speed to Y

  • I would use the built in double tap condition unless you absolutely require special customization.

  • Here is a simple one to start out on:

    https://www.scirra.com/tutorials/202/touch-controls-and-a-trick-to-detect-input-method

    You might eventually need to learn to track touchID and use 'is in touch' but sounds like you are needing the basics first.

  • Else is also great to add in a lot of situations because once it finds a true statement it will skip over the else.

    Example

    var Color = blue

    If color = blue

    --set color = red

    if color != blue

    --set color = purple

    The color would end up being purple. The first statement would change to red making the second statement true when reached. If that isn't what was intended you can add the else:

    If color = blue

    --set color = red

    Else

    --set color = purple

    This would result in the color being red. The first statement was true so the Else statement was skipped.

  • Here's what I would think initially.

    Pick closest instance to player.x player.y

    --spawn bullet

    --set angle to angle(player.x, player.y, instance.x, instance.y)

  • Just add to the same event:

    Set Angle to DifferentObject.Angle

  • On Key Press

    -If Layer0 is visible

    --Turn layer0 invisible

    -Else

    --Turn Layer0 visible