sasoriSR
10-10-2011, 15:02
Ciao a tutti, sono passato da poco a GTGE (prima usavo Pygame), ma non riesco a venirne a capo per quanto riguarda la collisioni...
Questo è il mio codice:
import java.awt.*;
import java.awt.event.*;
import com.golden.gamedev.*;
import com.golden.gamedev.object.*;
import com.golden.gamedev.object.background.*;
import com.golden.gamedev.object.collision.*;
public class MyGame extends Game{
Background background;
SpriteGroup PLAYER_GROUP;
SpriteGroup WALL_GROUP;
public void initResources() {
background = new ColorBackground(Color.BLUE);
PLAYER_GROUP = new SpriteGroup("Player Group");
WALL_GROUP = new SpriteGroup("Wall Group");
PLAYER_GROUP.add(new Sprite(getImage("player.png"), 100, 100));
WALL_GROUP.add(new Sprite(getImage("muro.png"), 0, 0));
WALL_GROUP.add(new Sprite(getImage("muro.png"), 450, 450));
}
public void update(long elapsedTime) {
background.update(elapsedTime);
if (keyDown(KeyEvent.VK_RIGHT))
PLAYER_GROUP.getActiveSprite().move(5, 0);
if (keyDown(KeyEvent.VK_LEFT))
PLAYER_GROUP.getActiveSprite().move(-5, 0);
if (keyDown(KeyEvent.VK_DOWN))
PLAYER_GROUP.getActiveSprite().move(0, 5);
if (keyDown(KeyEvent.VK_UP))
PLAYER_GROUP.getActiveSprite().move(0, -5);
PLAYER_GROUP.update(elapsedTime);
WALL_GROUP.update(elapsedTime);
}
public void render(Graphics2D g) {
background.render(g);
PLAYER_GROUP.render(g);
WALL_GROUP.render(g);
}
public static void main(String[] args) {
GameLoader game = new GameLoader();
game.setup(new MyGame(), new Dimension(500, 500), false);
game.start();
}
}
Praticamente vorrei che quando un elemento del primo gruppo si scontra con un qualsiasi elemento del secondo gruppo, quello del secondo scomparisse.
Ho cercato ovunque ma tutto quello che ho trovato non mi è stato d'aiuto, neanche la documentazione ufficiale, potete aiutarmi?
Grazie a tutti in anticipo.
PS: se nel codice ci sono anche altre cose stupide dite pure :D
Questo è il mio codice:
import java.awt.*;
import java.awt.event.*;
import com.golden.gamedev.*;
import com.golden.gamedev.object.*;
import com.golden.gamedev.object.background.*;
import com.golden.gamedev.object.collision.*;
public class MyGame extends Game{
Background background;
SpriteGroup PLAYER_GROUP;
SpriteGroup WALL_GROUP;
public void initResources() {
background = new ColorBackground(Color.BLUE);
PLAYER_GROUP = new SpriteGroup("Player Group");
WALL_GROUP = new SpriteGroup("Wall Group");
PLAYER_GROUP.add(new Sprite(getImage("player.png"), 100, 100));
WALL_GROUP.add(new Sprite(getImage("muro.png"), 0, 0));
WALL_GROUP.add(new Sprite(getImage("muro.png"), 450, 450));
}
public void update(long elapsedTime) {
background.update(elapsedTime);
if (keyDown(KeyEvent.VK_RIGHT))
PLAYER_GROUP.getActiveSprite().move(5, 0);
if (keyDown(KeyEvent.VK_LEFT))
PLAYER_GROUP.getActiveSprite().move(-5, 0);
if (keyDown(KeyEvent.VK_DOWN))
PLAYER_GROUP.getActiveSprite().move(0, 5);
if (keyDown(KeyEvent.VK_UP))
PLAYER_GROUP.getActiveSprite().move(0, -5);
PLAYER_GROUP.update(elapsedTime);
WALL_GROUP.update(elapsedTime);
}
public void render(Graphics2D g) {
background.render(g);
PLAYER_GROUP.render(g);
WALL_GROUP.render(g);
}
public static void main(String[] args) {
GameLoader game = new GameLoader();
game.setup(new MyGame(), new Dimension(500, 500), false);
game.start();
}
}
Praticamente vorrei che quando un elemento del primo gruppo si scontra con un qualsiasi elemento del secondo gruppo, quello del secondo scomparisse.
Ho cercato ovunque ma tutto quello che ho trovato non mi è stato d'aiuto, neanche la documentazione ufficiale, potete aiutarmi?
Grazie a tutti in anticipo.
PS: se nel codice ci sono anche altre cose stupide dite pure :D