Jump to content
Guest Asper

[Resolvido] jogos em Java para telemovel

Recommended Posts

Guest Asper

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

:down:

Share this post


Link to post
Share on other sites
revX

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

Share this post


Link to post
Share on other sites
Dabubble

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.

Share this post


Link to post
Share on other sites
pragma

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...

Share this post


Link to post
Share on other sites
Johnny Digital

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

Share this post


Link to post
Share on other sites
skin

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 ( );
	}
}
}


Our lives begin to end the day we become silent about things that matter - Martin Luther King

Share this post


Link to post
Share on other sites
Johnny Digital

hmm

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.