Paper 2d: need to change flipbook in mid-jump on input


UPDATE 6/27/2015 Part Deux: Fixed the issue of the sprite getting buried in the ground by capturing the world location at jump in a vector variable and then resetting that position in the same macro where I reset the capsule size from half to original.

Minor lingering issue is that the Slam Punch really only works ideally from a standing jump, so I will probably limit the conditions to velocity 0 as it would probably not look right to go into the slam punch while moving forward in air anyway… Thanks for reading. If you are reading. And if you’re not, you don’t know what this says anyway, so never mind.



UPDATE 6/27/2015: I have this mostly worked out now. I added my slam punch animation frames to the end of the jump flipbook, and set conditions to only play the slam punch frames while punching in air. I then had to deal with maintaining the slam punch pose when no longer falling (as opposed to reverting back to idle/moving). So I added an on land node that switched to a single frame Slam Punch flipbook. I also am resizing the capsule on landing so that the shorter pose/Slam Punch touches the ground, and just have to tweak the logic to prevent the occasional instances where the sprite ends up half buried in the ground platform sprite.


I’m fairly new to Unreal in general and just started working with Paper 2d in the past few weeks.

Anyway, what I am trying to get to work right now is the traditional move where if the character uses the Punch button in mid-jump, he does a downward punch onto the ground.

I have it set up where if the Punch input is pressed while “is Falling” is false, the standard “standing punch” flipbook plays, but if the Punch input is pressed (setting an “is Punching” variable to true) while “is Falling” is true, the jump flipbook that is playing should be replaced by the “slam punch” flipbook as he falls so that he does a “Slam Punch” onto the ground.

I tried doing this in my Animation State Machine function by saying “if isFalling AND isPunching === true, set flipbook to Slam Punch, but if only isFalling === true, then set flipbook to Jumping.” That had no effect at all.

So I am trying to set the flipbook upon press of the Punch input (checking for isFalling to determine if Slam Punch should happen), as in the screenshots below. This has an effect, but the Slam Punch flipbook doesn’t switch/start playing until the character hits the ground following the jump/jump animation. In simulation/debugging, the proper nodes are activating (the “path” for the Slam Punch), so maybe it’s something to do with the jump flipbook wanting to finish first? I tried manually stopping the flipbook, switching it, and then restarting it. It stopped on the current frame of the jump flipbook, didn’t switch to the Slam Punch, and never restarted.

3863fb81981fb986bafe1a416e72775e35b89913.jpeg

670447cfb3be3cc8227a44083b3ecce9d69bf783.jpeg

Incidentally, I tried this using the built in Jump function and–currently–with a manual Launch-based jump with a z+ and a z- value on pressed and released, respectively. I like the Launch method since it stops the jump on release.

2c49fd2f8568bc1910cc8e76e0cebfc0a559f9b4.jpeg

Thanks for any tips!