i want to how when is my player is jumping, statding, or falling. for some reason it only goes in fall == true if statment.
in my paint method iam printing different images. bc testing what is player is doing.
i have main_class and player_class.
-------------------------------------------------------------------------------------------------------------//in player class public void paint(Graphics g) { if(jump == false) { //..print stand image } else if(jump == true) { //..print jump image } else if(fall == true) { //print fall image here }
boolean jump = false; boolean fall = true; //bc when game start player will fall down first private double dy = 6.0; //change in y over time private double gravity = 0.2;
in main method i keypress method. if i presss up key it will run hitJump() method from player_class
public void keyPressed(KeyEvent e) { int keys = e.getKeyCode(); if (keys == KeyEvent.VK_UP) { player_class.hitJUMP(ground_class); } //in player_class seting up hitJump method. this just set jump to true only if only is not jumping. public void hitJUMP(Ground g) { if(jump == false)//if on ground { jump = true; //go in jump true if statment dy = 6.0; //reset } }//than also in player_class iam creating so my player will go up and down //this method is in while loop. so it will keep on going. public void PLAYER_MOVE(Main m, Ground g) //player move's { if(jump == true) //move dy up ..and than down.. { dy -= gravity; y -= dy; if(y + height >= g.getY()) //if on ground set jump to false { jump = false; fall = false; } } else if(jump == false) //if player is not jumping so that mean player is falling { y += 4; //player falling speed fall = true; } }
mostly i need help in paint method and player_move method. i know how to test when is my player is jumping or not jumping. but falling part is confusing to me. i need some ideas how can i test in paint method and player_move method when is my player is falling or not.