Hey, posted a few weeks ago with collision help. Now I've been doing some 'level' stuff.
Basically, I want the screen to change to a different level when you hit a certain point on the screen. I have this working, by doing this
(Before I forget, what is the opposite to the getEmpty() method? !getEmpty()?)
But, anyways, that works all well and dandy, but it makes backtracking impossible. So I'm thinking of adding something in each world like
But that would require keeping an integer that tracks what screen you're on, which I have not been able to do. SO, basically, my question is "How do you track integers when a new world is created?"
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.List; /** * Write a description of class Menu here. * * @author (your name) * @version (a version number or a date) */ public class Screen1 extends OverallWorld { /** * Constructor for objects of class Background. * */ public Screen1() { //super(700, 600, 1, false); setWorld(); setBackground("Sky.png"); setPaintOrder(Player.class, Brick.class, Platform.class); } public void act() { level(); } public void setWorld() { addObject(new Player(), 100, 530); //Ground addObject(new Platform(), 100, 580); addObject(new Platform(), 300, 580); addObject(new Platform(), 500, 580); addObject(new Platform(), 700, 580); //Left wall addObject(new Brick(), 25, 479); addObject(new Brick(), 25, 429); addObject(new Brick(), 25, 379); addObject(new Brick(), 25, 329); addObject(new Brick(), 25, 279); addObject(new Brick(), 25, 229); addObject(new Brick(), 25, 179); addObject(new Brick(), 25, 129); addObject(new Brick(), 25, 79); addObject(new Brick(), 25, 29); addObject(new Brick(), 25, -21); //Right wall addObject(new Brick(), 675, 479); addObject(new Brick(), 675, 429); addObject(new Brick(), 675, 379); addObject(new Brick(), 675, 329); addObject(new Brick(), 675, 279); addObject(new Brick(), 675, 229); addObject(new Brick(), 675, 179); addObject(new Brick(), 675, 129); addObject(new Brick(), 675, 79); addObject(new Brick(), 675, 29); addObject(new Brick(), 675, -21); } public void level() { List levelSelect = getObjectsAt(0, 535, Player.class); if(levelSelect.isEmpty()) { } else { Greenfoot.setWorld(new Screen2()); } } }
if(screen=1) { addObject( new Player(), different x, different y); }