• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Guest Asper

[Resolvido] jogos em Java para telemovel

11 mensagens neste tópico

Ola, alguem me diz qual a melhor maneira de fazer jogos em Java para o telemovel?

:down:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hm experimenta primeiro "desmontar" um jogo e observar o seu conteudo :P os ficheiros jar têm dentro o codigo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para desmontar um ficheiro jar ?

renomeia para rar ou zip e descomprime...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem começando.

Primeiro precisas do J2ME Wireless Toolkit que podes sacar no Site da Sun (a empresa "dona" do Java). Depois convem teres um IDE para desenvolveres programas. Eu uso o Eclipse com um plugin especial para aplicações para telemoveis (eclipseme).

Com isto já tens:

- Compilador/emulador de telémoveis (J2ME wireless toolkit)

- Ambiente de programação (eclipse + eclipseme)

Quaisquer duvidas sobre pormenores de instalação diz.

Também sei de alguns tutoriais bastante bons.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem pelo que ja tive conhecimento, fazer jogos não é assim tao facil...o user pamaro, é a pessoa indicada para responder a este topico!!  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu uso o Netbeans 4.1 + Mobility Pack...

Recomendo que vás ao site dos fabricantes de telemóveis (Nokia, SE, Motorola,etc..) e saca de lá os seus SDKs + emuladores... não te fiques só pelo emulador e WTK da Sun...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para fazer jogos para telemoveis recomendo seriamento o WTK da nokia, juntamente com o javame da sun

dps saca toda a documentação dos diversos sites dos fabricantes, juntamente com os emuladores que te vao ser mt uteis no debuging visto q cada telemovel suporta o java ah sua maneira

é de notar principalmente as diferencas entre o midp1 e 2 e as diversas extensoes as mesmos standards pelas diversas marcas

eu no ultimo jogo q fiz (cerca de 2 anos atras) fiquei-me pelo midp 1 pq era o mais compativel e ate agora ainda nao achei um telemovel em que o meu jogo n corresse com os features todos (na altura apenas usei os emuladores para testar)

eh claro q o midp tem features mt atractivos

de momento tou a fazer um jogo 3d que penso portar para j2me, por isso vou ter de investigar de novo tudo isso para ver o q "anda aí" e o q devo de usar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

queres analisar código? tens aqui este que eu retirei de um livro:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.AudioClip;

public class sapo extends JApplet implements ActionListener, KeyListener {

Timer relogio;
Image imgFundo, imgSapo, imgNave;
int xSapo, ySapo;
int xNave, yNave;
static String fichFundo = "fundo.jpg";
static String fichSapo = "sapo.gif";
static String fichNave = "rocketship.gif";
static String fichSom = "plop.wav";
Panel p;
String mensagem;
int tempoMensagem;
Font fonteMsg;
AudioClip som;
PainelAnimacao meuPainel;

public void init() {
	//Lê as imagens
	imgFundo = getImage(getCodeBase(), fichFundo);
	imgSapo = getImage(getCodeBase(), fichSapo);
	imgNave = getImage(getCodeBase(), fichNave);
	//Lê som
	som = getAudioClip(getCodeBase(), fichSom);

	p = new Panel(new GridLayout ( 1, 1 ));
	getContentPane().add(p);
	xSapo = 320;
	ySapo = 420;
	xNave = -25;
	yNave = 50;
	enableEvents(AWTEvent.KEY_EVENT_MASK);
	p.addKeyListener(this);
	tempoMensagem = 0;
	fonteMsg = new Font("Serif",Font.BOLD, 24);
	mensagem = "";

	buildUI(getContentPane());

	int atraso = 100;		// em milissegundos
	relogio = new Timer ( atraso, this );
	relogio.setInitialDelay ( 0 );
	relogio.setCoalesce ( true );
	if (!relogio.isRunning()) {
		relogio.start();
	}
}

void buildUI(Container container) {
	meuPainel = new PainelAnimacao();
	container.add(meuPainel, BorderLayout.CENTER);
}

public void keyTyped ( KeyEvent e ) {
}

public void keyPressed ( KeyEvent e ) {
	e.consume( );
	switch(e.getKeyCode( )){
		case KeyEvent.VK_LEFT :
			xSapo -= 5;
			break;
		case KeyEvent.VK_RIGHT :
			xSapo += 5;
			break;
		case KeyEvent.VK_DOWN :
			ySapo += 5;
			break;
		case KeyEvent.VK_UP :
			ySapo -= 5;
			break;
	}
	repaint( );
}

public void keyReleased ( KeyEvent e ) {
}

public void actionPerformed(ActionEvent e)
{
	xNave += 5;
	if ( xNave > 650 ) xNave = -25;

	// Verifica se o sapo está sobreposto à nave
	int largNave = imgNave.getWidth (this);
	int altNave = imgNave.getHeight (this);
	int largSapo = imgSapo.getWidth (this);
	int altSapo = imgSapo.getHeight (this);
	Rectangle rSapo = new Rectangle ( xSapo, ySapo, largSapo, altSapo );
	Rectangle rNave = new Rectangle ( xNave, yNave, largNave, altNave );

	// Testa se algum canto do sapo está dentro da nave e vice-versa
	if ( rNave.contains ( xSapo, ySapo ) ||
		rNave.contains ( xSapo + largSapo, ySapo ) ||
		rNave.contains ( xSapo, ySapo + altSapo ) ||
		rNave.contains ( xSapo + largSapo, ySapo + altSapo ) ||
		rSapo.contains ( xNave, yNave ) ||
		rSapo.contains ( xNave + largNave, yNave ) ||
		rSapo.contains ( xNave, yNave + altNave ) ||
		rSapo.contains ( xNave + largNave, yNave + altNave )
		) {
		mensagem = "Acertei!!";
		som.play();
		// O sapo encontrou a nave, logo coloca a nave num ponto aleatório
		xNave = -25;
		yNave = (int)((imgFundo.getHeight(this) - imgSapo.getHeight(this)) *
			Math.random());
		tempoMensagem = 0;
	} else
		// Não apaga a mensagem durante 10 disparos do relógio
		if ( ++tempoMensagem > 10 )
			mensagem = "";

	repaint ( );
}

class PainelAnimacao extends JPanel {

	//Desenha o painel da animação
	public void paintComponent(Graphics g) {
		super.paintComponent(g);

		g.drawImage(imgFundo, 0, 0, this);
		g.drawImage(imgNave, xNave, yNave, this);
		g.drawImage(imgSapo, xSapo, ySapo, this);

		g.setFont(fonteMsg);
		g.drawString ( mensagem, 200, 30 );

		p.requestFocus ( );
	}
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm

este exemplo não é compativel com JAVA ME... não sei se terá algum interesse para quem queira programar para telemoveis...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora