[Superbackgammon-developer] Canvas vs GameCanvas
Status: Planning
Brought to you by:
ugur_tutar
|
From: Ç. K. <cki...@gm...> - 2008-12-11 17:17:57
|
Selam millet, özellikle emre :P
millet bizim oyunda GameCanvas yerine Canvas kullanabiliriz, şöyleki:
public void keyPressed(int keyCode) {
int action = getGameAction(keyCode);
System.out.print(action);
repaint();
}
Yukraki fonksiyonla tek tek basmaları alabiliyoz. Denemek için kodları
gönderiyorum:
//DenemeOyun.java
package net.caglar;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class DenemeOyun extends MIDlet implements CommandListener {
private DenemeOyunCanvas myCanvas;
public void startApp() {
myCanvas = new DenemeOyunCanvas(Display.getDisplay(this));
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
}
}
//DenemeOyunCanvas.java
package net.caglar;
import javax.microedition.lcdui.*;
public class DenemeOyunCanvas extends javax.microedition.lcdui.Canvas {
private Display ekran;
public DenemeOyunCanvas(Display d) {
ekran = d;
ekran.setCurrent(this);
repaint();
}
public void keyPressed(int keyCode) {
int action = getGameAction(keyCode);
System.out.print(action);
repaint();
}
protected void paint(Graphics g) {
int w = getWidth();
int h = getHeight();
System.out.print(" width=");
System.out.print(w);
System.out.print(" height=");
System.out.println(h);
g.setColor(255, 255, 255);
g.fillRect(0, 0, w, h);
g.setColor(0, 0, 255);
g.drawLine(0, 0, w, h);
g.drawLine(w, 0, 0, h);
g.drawRect(w/2, h/2, 80, 40);
g.setColor(255, 0, 0);
g.fillArc(w/2, h/2, 80, 40, 0, 225);
//g.drawString("deneme", w/2, h/2, 0);
String str = "deneme";
Font f = g.getFont();
g.drawLine(0, 0, 200, 200);
int x = 0, y = 0, len=f.stringWidth(str);
g.drawRect(x, y, len, 15);
g.drawString(str, x, y, Graphics.TOP|Graphics.LEFT);
x = 20; y = 20;
g.drawRect(x, y, len, 15);
g.drawString(str, x + f.stringWidth(str)/2, y,
Graphics.TOP|Graphics.HCENTER);
x = 40; y = 40;
g.drawRect(x, y, len, 15);
g.drawString(str, x + f.stringWidth(str), y, Graphics.TOP|Graphics.RIGHT);
x = 60; y = 60;
g.drawRect(x, y, len, 15);
g.drawString(str, x, y + f.getBaselinePosition(),
Graphics.BASELINE|Graphics.LEFT);
x = 80; y = 80;
g.drawRect(x, y, len, 15);
g.drawString(str, x + f.stringWidth(str)/2, y +
f.getBaselinePosition(), Graphics.BASELINE|Graphics.HCENTER);
x = 100; y = 100;
g.drawRect(x, y, len, 15);
g.drawString(str, x + f.stringWidth(str), y +
f.getBaselinePosition(), Graphics.BASELINE|Graphics.RIGHT);
}
}
Yorumlarını bekliyorum emre ;)
--
Caglar Kilimci
Computer Engineering, 4th Class
Yunusemre Cd. Tura Apt.
70/13 Eskishir/TURKEY
Phone: +905054012959
|