Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  adding a third level to a mobile game ?  (Read 1101 times)
0 Members and 1 Guest are viewing this topic.
Offline ethicalhacker

JGO n00b
*

Posts: 1



« on: 2008-07-10 06:01:17 »

The tutorial at http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder helped me make a simple game with 2 levels, The first level being the forest level and the second one being the Desert level. I managed to make both these level work. As soon as the sprite Karel moves to the bottom right edge of level 1, level 2 is displayed, which also works fine. But now Ive made a third scene which I want to start as soon as the sprite Karel reaches the bottom right of the level 2 (i.e desert scene)
I know that this portion of the code makes the level 2 load as soon as Karel reaches the bottom right.
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
public void run() {
      Graphics g = getGraphics();
     
      while (!this.interrupted) {
                 
         //switch to 'Desert' scene once the main sprite moves
        //to the bottom right corner of scene 'Forest'
        if (this.spriteKarel.getX() >= 340 && this.spriteKarel.getY() >= 340) {
           
            try {
               this.ground = this.gameDesign.getSand();
               this.colliders = new TiledLayer[] {};

               //remove all current layers
              while (this.lm.getSize() > 0) {
                  Layer l = this.lm.getLayerAt(0);
                  this.lm.remove(l);
               }
               //load the 'Desert' scene
              this.gameDesign.updateLayerManagerForDesert(this.lm);
            } catch (IOException e) {
               e.printStackTrace();
            }
           
            //reset the viewport
           this.viewPortX = 0;
            this.viewPortY = 0;
            this.lm.setViewWindow(this.viewPortX, this.viewPortY, this.getWidth(), this.getHeight());
           
            this.lastDirection = -1;
         }

But how can I do the same for level 3 to load? I tried adding the following code in the run function but it ran level 3 instead of level 2
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
if (this.spriteKarel.getX() >= 300 && this.spriteKarel.getY() >= 300) {

            try {
               this.ground = this.gameDesign.getSide();
               this.colliders = new TiledLayer[] {};

               //remove all current layers
              while (this.lm.getSize() > 0) {
                  Layer l = this.lm.getLayerAt(0);
                  this.lm.remove(l);
               }
               //load the 'Wall' scene
              this.gameDesign.updateLayerManagerForWall(this.lm);
            } catch (IOException e) {
               e.printStackTrace();
            }

            //reset the viewport
           this.viewPortX = 0;
            this.viewPortY = 0;
            this.lm.setViewWindow(this.viewPortX, this.viewPortY, this.getWidth(), this.getHeight());

            this.lastDirection = -1;
         }

Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.119 seconds with 20 queries.