@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // pj.actionDown(event.getX(), event.getY()); pj.getVelocidad().setyv(29); if (event.getY() > getHeight() - 50) { thread.setRunning(false); ((Activity) getContext()).finish(); } else { Log.d(TAG, "Coords: x=" + event.getX() + ",y=" + event.getY()); } break; case MotionEvent.ACTION_MOVE: pj.getVelocidad().setyv(29); break; case MotionEvent.ACTION_UP: // if (pj.isTouched()) { // pj.setTouched(false); // } pj.getVelocidad().setyv(-20); break; } return true; }
@Override protected void onDraw(Canvas canvas) { // super.onDraw(canvas); canvas.drawColor(Color.GRAY); pj.draw(canvas); col.draw(canvas); }
// Metodo para actualizar en todo momento si los objetos colesionan con los bordes de la pantalla public void update() { // Choque con la pared superior if (pj.getY() - pj.getBitmap().getHeight() / 2 <= 0) { Log.d(TAG, "Ha tocado techo"); pj.getVelocidad().setyv(0); pj.getVelocidad().setxv(0); pj.setY((float) ((0 + pj.getBitmap().getHeight() / 2) + 0.1)); } // Choque con el suelo if (pj.getVelocidad().getDireccionEnY() == Velocidad.DIRECCION_ABAJO && pj.getY() + pj.getBitmap().getHeight() / 2 >= getHeight()) { // pj.getVelocidad().cambiarDireccionEnY(); Log.d(TAG, "Ha tocado suelo"); pj.getVelocidad().setyv(0); pj.getVelocidad().setxv(0); // Aplicando el -0.1 hacemos que el usuario piense que esta en el suelo, casteamos a float // porque 0.1 no entra en el rango de los float pj.setY((float) ((getHeight() - pj.getBitmap().getHeight() / 2) - 0.1)); } pj.update(); col.getVelocidad().setxv(-29); col.getVelocidad().setDireccionEnX(Velocidad.DIRECCION_IZQUIERDA); if (col.getVelocidad().getDireccionEnX() == Velocidad.DIRECCION_IZQUIERDA && col.getX() - col.getBitmap().getWidth() <= 0) { col.setX(getWidth()); col.setY(rand.nextInt(701)); } col.update(); if (pj.getY() == col.getX()) { Log.d( TAG, "CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE "); Log.d( TAG, "CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE "); Log.d( TAG, "CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE "); Log.d( TAG, "CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE CHOQUE "); } }