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); }
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) { } } }