Пример #1
0
  @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;
  }
Пример #2
0
  @Override
  protected void onDraw(Canvas canvas) {
    // super.onDraw(canvas);

    canvas.drawColor(Color.GRAY);
    pj.draw(canvas);
    col.draw(canvas);
  }
Пример #3
0
  //	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 ");
    }
  }