PDA

View Full Version : [Java-GTGE] Sprite visualizzato non interamente


agente mm8
26-10-2008, 15:57
Salve a tutti, ho questa classe Main:
package battlemotor;

/**
* @author agente mm8
*/

//JFC
import java.awt.*;
import java.awt.image.BufferedImage;

//GTGE
import com.golden.gamedev.*;
import com.golden.gamedev.object.*;
import com.golden.gamedev.object.background.*;

public class Main extends Game{

AnimatedSprite hero;
BufferedImage[] heroImages;
ColorBackground back;

public void initResources(){
heroImages = getImages("player.png", 35, 41); //misure sprite
hero = new AnimatedSprite(heroImages, 100, 50); //locazione sprite

back = new ColorBackground(Color.white);

hero.setBackground(back);

hero.getAnimationTimer().setDelay(100);
hero.setAnimationFrame(0, 1);
hero.setAnimate(true);
hero.setLoopAnim(true);
}

public void update(long elapsedTime){
back.update(elapsedTime);
hero.update(elapsedTime);
}

public void render(Graphics2D g){
back.render(g);
hero.render(g);
}

public static void main(String[] args) {
GameLoader loader = new GameLoader();
loader.setup(new Main(), new Dimension(800, 600), false);
loader.start();
}

}


e l'immagine player.png è questa:
http://img221.imageshack.us/img221/6787/playerur2.th.png (http://img221.imageshack.us/my.php?image=playerur2.png)http://img221.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Quando però eseguo il prog, nn si vede lo sprite (35x41), ma solo una parte di esso.
Come mai? Qual'è il problema?
Grazie in anticipo.

Oceans11
26-10-2008, 19:29
Perchè heroImages = getImages("player.png", 35, 41); //misure sprite è sbagliato!

getImages (link (http://goldenstudios.or.id/products/GTGE/docs/com/golden/gamedev/Game.html#getImages(java.lang.String,%20int,%20int))) vuole il numero di colonne e di righe per poter fare lo strip dell'immagine, non la dimensione di un singolo strip!

agente mm8
27-10-2008, 13:36
Fammi capire: come ho fatto io allora divide l'immagine in 35 colonne e in 41 righe giusto?
Quindi io dovrei fare getImages("player.png", 6, 0) deve dividerlo in 6 parti;
o gli devo dare il numero di colonne (cioè 5)?
Credo che sia la seconda, ma comunque aspetto un tuo consiglio

Edit: Grazie mille, ho risolto, ma devo ancora aggiustare un pò le misure. Di nuovo grazie mille!!!

Oceans11
27-10-2008, 18:06
Fammi capire: come ho fatto io allora divide l'immagine in 35 colonne e in 41 righe giusto?
Quindi io dovrei fare getImages("player.png", 6, 0) deve dividerlo in 6 parti;

no.

o gli devo dare il numero di colonne (cioè 5)?
Credo che sia la seconda, ma comunque aspetto un tuo consiglio

no!

gli devi dare il numero di colonne e di righe, e nel tuo caso sono 6 colonne ed 1 riga!!!!!

agente mm8
27-10-2008, 19:51
Sì, sì avevo capito.
Grazie mille!