I tried alot of coding but can't let my object jump.. I'm a newb on this so can someone tell me my mistakes and how to fix them? ( showing the correct code to see where i'm wrong )
Thx
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class mannetje here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class mannetje extends Actor
{
private int speed = 3; //snelheid( in pixels ) waarmee het mannetje horizontaal loopt.
private int vSpeed = 0; //V staat voor verticale speed, dus springen en vallen.
private int acceleration = 2; //het mannetje gaat hierdoor vallen zoals bij de zwaartekracht.
private int gravity;
public boolean onPlatform;
public void act() // controleert mijn toetsenbord inputs en doe de act precies.
{
gravity--;
checkForJump();
checkKeys();
vallen();
checkVallen();
}
private void checkForJump()
{
if (onPlatform && Greenfoot.isKeyDown("space"))
gravity = 20; // this will make the character jump
}
private void checkKeys()
{
if (Greenfoot.isKeyDown("left") ) // Als ik de linker keyarrow indruk gaat de afbeelding van het man-links laden en de methode moveLeft aanroepen
{
setImage("man-links.png");
moveLeft();
}
if (Greenfoot.isKeyDown("right") ) // Als ik de rechter keyarrow indruk gaat de afbeelding van het man-rechts laden en de methode moveRight aanroepen
{
setImage("man-rechts.png");
moveRight();
}
}
public void checkVallen()
{
if(onPlatform()) {
vSpeed = 0;
}
else {
vallen();
}
}
public boolean onPlatform() /* De plaats waar het object zich gaat plaatsen */
{
Actor under = getOneObjectAtOffset (0, getImage().getHeight() / 2-6, Platform.class);
return under != null;
}
public void vallen() // de speed staat nu bij de Y-as wat verticaal is
{
setLocation (getX(), getY() + vSpeed);
vSpeed = vSpeed + acceleration; // hierdoor gaat het mannetje realistischer vallen( zwaartekracht en niet zwevend )
}
public void moveRight() // de speed staat bij de X-as wat horizontaal is
{
setLocation (getX() + speed, getY());
}
public void moveLeft()
{
setLocation (getX() - speed, getY());
}
}

