Its suppose to be a versatile reusable method of my game engine to update the players image based on the virtual keys triggered.
I would not be looking up images when the player tries to jump, walk, run, turn, etc... I would have those images loaded and ready to be drawn long before the jump button is pushed. In the player's draw method, on-the-fly as the player draws it's own graphics, the player should determine if it is jumping, landing, walking, running, etc and draw the correct, pre-loaded image. (note that I said determine the state, not advance or make any state changes, never make any changes while drawing)
Explain what the variable player_ii_path is for. It is not declared locally but the method is changing the value at least once (even if it is replacing the same value). The variable is getting changed when the method is called, there is no way around it. The question is, after you change 'that' variable what happens. Is that the variable used to determine the path later? Is this variable to be shared or does it belong to player_ii only? Which bring me to a side note: Variable names like p_new_player_ii_Path make reading the code very difficult.