Hello,
i am developing a game where something happens with some objects in one
thread and the situation is painted every 150 ms. Currenty I experimented
with painting on a java.awt.Canvas, which works fine.
But now I would like to paint in android instead. I am looking for some
tips how to start this.
In android I have seen an example where you can paint on a
android.view.View. However, I don't know, if it would perform well, if I
paint there like I did on the java.awt.Cavas.
I attach my painting on the java.awt.Canvas for better understanding.
br
Tobias
[code]
public void paint(Graphics g) {
if (offscreen == null) {
offscreenImage = this
.createImage(getSize().width, getSize().height);
offscreen = offscreenImage.getGraphics();
}
// Felder
offscreen.setColor(colBG);
for (int x = 0; x < this.spielfeld.WIDTH; x++) {
for (int y = 0; y < this.spielfeld.HEIGHT; y++)
offscreen.fillRect(x * fieldSize, y * fieldSize, fieldSize,
fieldSize);
}
// Hindernisse
for (Iterator<Objekt> oiter = spielfeld.getObjekte().iterator();
oiter.hasNext();) {
Objekt o = oiter.next();
for (Iterator<Position> iter = o.getPositions().iterator();
iter.hasNext();) {
Position p = iter.next();
offscreen.setColor(Color.blue);
int big = (int)(fieldSize*1.7);
if (o instanceof See)
offscreen.fillOval(p.x * fieldSize, p.y * fieldSize,
big, big);
else
offscreen.drawRect(p.x * fieldSize, p.y * fieldSize,
fieldSize, fieldSize);
}
}
// Strassen
offscreen.setColor(Color.yellow);
for (Iterator<Strasse> iter = spielfeld.getStrassen().iterator();
iter.hasNext();) {
Strasse s = iter.next();
for (Iterator<Position> piter = s.getPositionen().iterator();
piter.hasNext();) {
Position p = piter.next();
offscreen.drawOval(p.x * fieldSize +
fieldSize/2,p.y*fieldSize + fieldSize/2,fieldSize/2,fieldSize/2);
}
}
// Ameisen
for (Iterator<Ameise> iter = spielfeld.getAmeisen().iterator();
iter.hasNext();) {
Ameise a = iter.next();
Position p = a.getPosition();
offscreen.setColor(Color.red);
offscreen.drawImage(ameise[a.getRichtung()],p.x *
fieldSize,p.y*fieldSize,fieldSize, fieldSize,this);
//offscreen.drawRect(p.x * fieldSize, p.y * fieldSize,
fieldSize, fieldSize);
}
// Nest
for (Iterator<Position> iPos =
spielfeld.getNest().getPositions().iterator(); iPos.hasNext();) {
Position p = iPos.next();
offscreen.setColor(Color.green);
offscreen.drawRect(p.x * fieldSize, p.y * fieldSize, fieldSize,
fieldSize);
}
// Honig
for (Iterator<Honigpot> iter = spielfeld.getHonig().iterator();
iter.hasNext();) {
Honigpot h = iter.next();
char symbol = h.getSymbol();
for (Iterator<Position> iPos = h.getPositions().iterator();
iPos.hasNext();) {
Position p = iPos.next();
offscreen.setColor(Color.yellow);
//offscreen.drawRect(p.x * fieldSize, p.y * fieldSize,
fieldSize, fieldSize);
int kap = h.getKapazitaet();
int bild = 0;
if (kap > 80)
bild = 0;
else if (kap > 60)
bild = 1;
else if (kap > 30)
bild = 2;
else
bild = 3;
if (kap > 0)
offscreen.drawImage(honig[bild],p.x *
fieldSize,p.y*fieldSize,fieldSize, fieldSize,this);
}
}
g.drawImage(offscreenImage, 0, 0, this);
}
[/code]
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.