public void checkPoints(float aX, float aY)
    {
        int x = (int)aX;
        int y = (int)aY;

        // Columna del lado izquierdo del personaje.
        mLeftX = (x + mXOffsetBoundingBox) / CTileMap.TILE_WIDTH;
        // Columna del lado derecho del personaje. -1 porque es el pixel de adentro. x+w es la coordenada del pixel de afuera.
        mRightX = (x + getWidth() - 1 - mXOffsetBoundingBox) / CTileMap.TILE_WIDTH;
        // Fila de arriba del personaje.
        mUpY = (y + mYOffsetBoundingBox) / CTileMap.TILE_HEIGHT;
        // Fila de los pies del personaje.
        mDownY = (y + getHeight() - 1) / CTileMap.TILE_HEIGHT;

        CTileMap map = CGame.inst().getMap();

        mTileTopLeft   = map.getTile(mLeftX, mUpY).isWalkable();
        mTileTopRight  = map.getTile(mRightX, mUpY).isWalkable();
        mTileDownLeft  = map.getTile(mLeftX, mDownY).isWalkable();
        mTileDownRight = map.getTile(mRightX, mDownY).isWalkable();

        //Debug.Log ("Esquina superior izquierda hay un tile: " + mTileTopLeft);
        //Debug.Log ("Esquina superior derecha hay un tile: " + mTileTopRight);
        //Debug.Log ("Esquina inferior izquierda hay un tile: " + mTileDownLeft);
        //Debug.Log ("Esquina inferior derecha hay un tile: " + mTileDownRight);
    }
Exemple #2
0
 public override void update()
 {
     base.update();
     if (getState() == STATE_STAND)
     {
         if (currentTimeStanding == 0)
         {
             setState(STATE_TAKING_STEP);
         }
         else
         {
             currentTimeStanding--;
         }
     }
     else if (getState() == STATE_TAKING_STEP)
     {
         if (direction == LEFT)
         {
             if (mMap.getTile((int)getX() - 2, (int)getY()).isWalkable())
             {
             }
         }
         else if (direction == RIGHT)
         {
         }
     }
 }