コード例 #1
0
    public static void init()
    {
        if (mInitialized)
        {
            return;
        }
        mInitialized = true;

        dialogs = new List <Dialog>();

        shadow = new CSprite();
        //Esta tambien el shadow solo que llena toda la pantalla
        shadow.setImage(Resources.Load <Sprite>("Sprites/dialogShadow/shadow"));
        shadow.setName("Dialog - Background");
        shadow.setSortingLayerName("UI");
        shadow.setXY(0, CGameConstants.SCREEN_HEIGHT / 3 * 2);
        shadow.setWidth(CGameConstants.SCREEN_WIDTH);
        shadow.setVisible(false);

        characterPortrait = new CSprite();
        characterPortrait.setName("Character - Portrait");
        characterPortrait.setSortingLayerName("UI");
        characterPortrait.setXY(shadow.getX() + MARGIN, shadow.getY() + MARGIN);
        characterPortrait.setVisible(false);
        characterPortrait.setSortingOrder(1);

        text = new CText("");
        text.setFontSize(500.0f);
        text.setVisible(false);
        text.setXY(CGameConstants.SCREEN_WIDTH / 4 + MARGIN, shadow.getY() + MARGIN);
        text.setWidth(CGameConstants.SCREEN_WIDTH / 4 * 3 - MARGIN * 2);
    }
コード例 #2
0
    override public void update()
    {
        base.update();

        if (getState() == STATE_STAND || getState() == STATE_WALKING)
        {
            //Obtener los dos tiles (en vertical) que están adelante mío
            List <CTile> frontTiles = new List <CTile>();
            CAndy        player     = CGame.inst().getPlayer();
            int          yFrom      = (int)(getY() + getHeight() - verticalDetectRange * CTileMap.Instance.getTileHeight());
            int          xFrom      = 0;

            if (getFlip())
            {
                xFrom = (int)((getX() - getRightOffsetBoundingBox() + getWidth()));
            }
            else
            {
                xFrom = (int)(getX() + getLeftOffsetBoundingBox() - CTileMap.Instance.getTileWidth() * horizontalDetectRange);
            }

            attackRange.setXY(xFrom, yFrom);
            attackRange.setWidth(horizontalDetectRange * CTileMap.Instance.getTileWidth());
            attackRange.setHeight(verticalDetectRange * CTileMap.Instance.getTileHeight());
            attackRange.setScaleX(horizontalDetectRange * CTileMap.Instance.getTileWidth());
            attackRange.setScaleY(verticalDetectRange * CTileMap.Instance.getTileHeight());

            if (attackRange.collidesRect(player))
            {
                setState(STATE_ATTACKING);
                return;
            }
        }
    }