It is way to slow and in the first example it doesnt even move. How do
I make a game? With SurfaceView or OpenGL? And should I draw in a
separate thread?
----
package com.android.WWS;
import android.app.Activity;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import java.lang.Runnable;
import java.lang.Thread;
public class WWS extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GameView gv = new GameView(this);
setContentView(gv);
gv.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event)
{
GameView gv = (GameView) v;
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
gv.decrY(3);
v.invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
gv.decrX(3);
v.invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
gv.incrY(3);
v.invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
gv.incrX(3);
v.invalidate();
}
return true;
}
});
}
private static class GameView extends SurfaceView {
private Paint mPaint = new Paint();
private int x;
private int y;
public GameView(Context context) {
super(context);
x = 135;
y = 303;
setWillNotDraw(false);
setFocusable(true);
requestFocus();
}
@Override
public void onDraw(Canvas canvas) {
Paint paint = mPaint;
canvas.translate(10, 10);
canvas.drawColor(Color.rgb(184,134,11));
paint.setColor(Color.rgb(107,142,35));
paint.setStrokeWidth(1);
canvas.drawRect(x, y, x+30, y+7, paint);
canvas.drawRect(x+10, y+7, x+20, y+27, paint);
canvas.drawRect(x+5, y+27, x+25, y+32, paint);
}
public void decrY(int length) {
y -= length;
}
public void incrY(int length) {
y += length;
}
public void decrX(int length) {
x -= length;
}
public void incrX(int length) {
x += length;
}
}
private static class GameRenderer implements Thread {
public GameRenderer(GameView g) {
Thread t = new Thread();
t.start();
}
public void run() {
while(!onPause && !onStop) {
}
}
}
}
--------------------
package com.android.WWS;
import android.app.Activity;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
public class WWS extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GameView(this));
}
private static class GameView extends SurfaceView implements
OnKeyListener {
private Paint mPaint = new Paint();
private int x;
private int y;
public GameView(Context context) {
super(context);
x = 135;
y = 303;
setWillNotDraw(false);
setFocusable(true);
requestFocus();
}
@Override
public void onDraw(Canvas canvas) {
Paint paint = mPaint;
canvas.translate(10, 10);
canvas.drawColor(Color.rgb(184,134,11));
paint.setColor(Color.rgb(107,142,35));
paint.setStrokeWidth(1);
canvas.drawRect(x, y, x+30, y+7, paint);
canvas.drawRect(x+10, y+7, x+20, y+27, paint);
canvas.drawRect(x+5, y+27, x+25, y+32, paint);
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
y -= 3;
invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
x -= 3;
invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
y += 3;
invalidate();
} else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
x += 3;
invalidate();
}
return true;
}
}
--
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