Gente,ja nao sei mais o que fazer… Segui o tutorial, depurei tudo isso , mas simplesmente nao consigo.
Desculpa tantos posts, mas é que realmente agora empaquei… na vdd essa dúvida é a junção das outras duas atrás…
Pior que não achei ninguem com essa dúvida… Isso de java2D é meio estranho… Enfim, estou upando o código, junto com a snake.jpg.
Nao sei se alguem vai conseguir me ajudar, mas pelo menos fica aqui postado , caso tenha alguem com a mesma dúvida…Talvez Ajude.
Ah ta, então, quando eu mudo a Snake de lugar e chamo o Método Running(), ela fica bugada, e as vezes apaga as outras snakes e as vezes nao, e fica criando uma em cima da outra.
Nao sei o que fazer. Ja estou copiando o Graphics, ja tentei dar dispose, repaint, etc.
NAO FUNCIONA.
[code]package Controllers;
import Objetos.Snake;
import View.MainView;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
/**
*
-
@author André
*/
public class GameUpdate {private MainView mainView;
private Snake snake;
private int gamePanelWidth,gamePanelHeight;public GameUpdate(MainView mv)
{
mainView = mv;snake = new Snake(10,10); gamePanelWidth = mainView.jPanel_GamePanel.getWidth(); gamePanelHeight = mainView.jPanel_GamePanel.getHeight();}
public void Running()
{
//Pegar o Graphics do JPAnel GAME :
Graphics2D jPanelGraphics = (Graphics2D) mainView.jPanel_GamePanel.getGraphics();// Criar um Auxliar desse Graphic Graphics jPanelAuxGraphic = jPanelGraphics.create(); //Carrega a imagem da Snake BufferedImage snakeImage = snake.getSnakeImage(); //Cria imagem Auxiliar Image drawingImage = mainView.jPanel_GamePanel.createImage(gamePanelWidth, gamePanelHeight); //Pega o Graphics da Imagem auxiliar para colocar no jPanel Graphics2D graphicsImage = (Graphics2D) drawingImage.getGraphics(); //Desenha a snake na imagem Auxiliar graphicsImage.drawImage(snakeImage,0,0,null); //Desenha a Imagem Auxiliar no jPanel_GamePanel jPanelAuxGraphic.drawImage(drawingImage,snake.getPositionX(),snake.getPositionY(),null); //jPanelAuxGraphic.dispose(); //graphicsImage.dispose();}
public void moveSnakeLeft()
{
snake.setPositionX(snake.getPositionX() - 10);}
public void moveSnakeRight()
{
snake.setPositionX(snake.getPositionX() + 10);
}public void moveSnakeUp()
{
snake.setPositionY(snake.getPositionY()+ 10);
}public void moveSnakeDown()
{
snake.setPositionY(snake.getPositionY()- 10);
}
}
[/code]
