какво казва заглавието основно
Малко предистория за текущата игра: Играчът винаги се движи отляво надясно, ако екрана се докосне, той скача, ако се плъзне, той се втурва напред. Добавих плочка (обект Платформа) и сега се опитвам да накарам моя играч да спре да се движи, ако я удари.
Играчът започва в долния ляв ъгъл на екрана, а платформата е в горния десен ъгъл. Това, което се случва е, че играчът спира, когато достигне средата на екрана, а не действителната платформа. Може ли някой да погледне моя код и да види дали може да разбере защо? Ще бъде високо оценено.
public class Platform extends GameObject {
private Rectangle playerRect;
private Rectangle platformRect;
private Player player;
private boolean isOverlapping;
public Platform(Sprite spr) {
super(spr);
player = Player.getInstance(null); // Initialises the Player class (a Singleton)
// Set position of sprite
setxPos(getWidth() - 400);
setyPos(getHeight() / 2 - 100);
spr.setX(getxPos());
spr.setY(getyPos());
}
public void update() {
// Rectangle of Player
playerRect = new Rectangle(player.getxPos(), player.getyPos(), player
.getSprite().getWidth() + player.getxPos(), player.getSprite()
.getHeight() + player.getyPos());
// Rectangle of Platform
platformRect = new Rectangle(getxPos(), getyPos(), getSprite().getWidth()
+ getxPos(), getSprite().getHeight() + getxPos());
// Make Player stop moving if the two rectangles collide
isOverlapping = playerRect.overlaps(platformRect);
if (isOverlapping) {
player.setxSpeed(0);
}
}
}
Задържам се на това за известно време, благодаря предварително за всяка информация