Using java Syntax Highlighting
- public class Head extends GameObject{
- public Head(Drawable image) {
- super(image);
- mAngle = 270;
- }
- @Override
- protected void UpdatePoint() {
- }
- public void fire () {
- }
- public void rotate (int x, int y) {
- float a = (float) Math.sqrt(Math.abs(Math.pow((x-this.getCenterX()),2)+Math.pow((y-this.getCenterY()),2)));
- float b = (float) Math.sqrt(Math.abs(Math.pow((x - this.getCenterX()), 2)));
- float c = (float) Math.sqrt(Math.abs(Math.pow((y-this.getCenterY()),2)));
- float angle = (float) Math.acos((a*a+b*b+c*c)/2*a*b);
- if (x<this.getCenterX()) angle+= 90;
- if (y>this.getCenterY())
- if (x<this.getCenterX()) angle +=180;
- else angle += 270;
- // HOW ROTATE ?
- }
- }
Parsed in 0.034 seconds, using GeSHi 1.0.8.4
Using java Syntax Highlighting
- public class GameView extends SurfaceView implements SurfaceHolder.Callback{
- private int mx, my;
- private GameThread mThread;
- private Head mHead;
- private static final String TAG = "ZZZZZuma";
- private int randomBall;
- public GameView(Context context, AttributeSet attrs) {
- super(context, attrs);
- getHolder().addCallback(this);
- mThread = new GameThread(getHolder(),this);
- Resources res = context.getResources();
- mHead = new Head(res.getDrawable(R.drawable.head));
- InitPositions(800,480);
- }
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- mx = (int) event.getX();
- my = (int) event.getY();
- switch (event.getAction()){
- case MotionEvent.ACTION_DOWN: {
- mHead.fire();
- } break;
- case MotionEvent.ACTION_MOVE: {
- mHead.rotate(mx,my);
- } break;
- case MotionEvent.ACTION_UP: {
- } break;
- }
- return true;
- }
- public void InitPositions(int ScreenWidth, int ScreenHeight){
- mHead.setCoordinate((float) ScreenWidth / 2, (float) ScreenHeight / 2);
- }
- public void updateObjects(){
- //Log.v(TAG,"I'm update!");
- mHead.update();
- }
- @Override
- public void onDraw(Canvas canvas){
- //Log.v(TAG,"I'm draw!");
- canvas.drawColor(Color.BLACK);
- mHead.onDraw(canvas);
- }
- }
Parsed in 0.036 seconds, using GeSHi 1.0.8.4
When i touch the screen, head turns in the direction of pressing. How do I rotate an image (Drawable) at a given angle? Sorry for my bad English.

