protected void startFalling() {
		this.startX = getScreen().getScreenX(getObjectX());
		this.startY = getScreen().getScreenY(getObjectY());

		if (canFall()) {
			ensureFalling();
			getFacade().fall(getWorm());
			if (isObjectStillActive()) {
				this.finalX = getScreen().getScreenX(getObjectX());
				this.finalY = getScreen().getScreenY(getObjectY());
			} else {
				this.finalX = startX;
				try {
					this.finalY = getScreen().getScreenY(getObjectY());
				} catch (ModelException e) {
					this.finalY = getScreen().getScreenY(0);
				}
			}
		} else {
			finished = true;
		}
		getSprite().setCenterLocation(startX, startY);
	}