У меня проблема с моими 2 чеками на игру в стиле лягушки. Таким образом, проверка Gameover - это простая проверка столкновения с объектом лягушки.JAVA Greenfoot Game Over/Win check на yCoordinate
Следующая проверка проверяет координаты getY для проверки того, попал ли объект лягушки на крышу мира ergo, избили игру.
Теперь, когда проверка GameOver выполняется, больше нет объекта для проверки getY. Таким образом, это дает ошибку. Как я могу обойти это?
полный код класса Frogger:
public class Frogger extends Actor
{
public void act()
{
checkKeys();
hitEnemy();
atTop();
}
private void checkKeys()
{
if (Greenfoot.isKeyDown("up")) {
setLocation(getX(), getY()-3);
}
if (Greenfoot.isKeyDown("down")) {
setLocation(getX(), getY()+3);
}
if (Greenfoot.isKeyDown("left")) {
setLocation(getX()-3, getY());
}
if (Greenfoot.isKeyDown("right")) {
setLocation(getX()+3, getY());
}
}
public void hitEnemy()
{
Actor Enemy = getOneIntersectingObject(Enemy.class);
if(Enemy != null)
{
World myWorld = getWorld();
Gameover gameover = new Gameover();
myWorld.addObject(gameover, 300, 200);
myWorld.removeObject(this);
}
}
private void atTop()
{
if (getY() < 30)
{
World myWorld = getWorld();
Youwin youwin = new Youwin();
myWorld.addObject(youwin, 300, 200);
myWorld.removeObject(this);
}
}
}
* Актер Vijand = getOneIntersectObject (Vijand.class); * эта линия немного странная; у вас есть как переменная 'Vijand', так и класс' Vijand'. Как сделать ваш код нечитаемым в два этапа: использовать имена классов в качестве имен переменных и микс и mash английский и голландский :) – Gimby