Skip to content
🚧 Esta documentação ainda está em desenvolvimento e pode conter informações incompletas.

DrawLayers

A classe DrawLayers permite adicionar texturas para desenhar sobre ou atrás do edifício ao jogo, com suporte para condições e animações.

Construtor

def __init__(
        self,
        *,
        Id:str,
        SourceRect: Rectangle,
        DrawPosition: Position, #use getStr() to return a valid value for this variable
        Texture: Optional[str] = None,
        DrawInBackground: Optional[bool] = None,
        SortTileOffset: Optional[float] = 0.0,
        OnlyDrawIfChestHasContents: Optional[str] = None,
        FrameCount: Optional[int] = None,
        FramesPerRow: Optional[int] = None,
        FrameDuration: Optional[int] = None,
        AnimalDoorOffset: Optional[Position] = None
    )

Parâmetros

Name Type Description
Id (str) Identificação da DrawLayer
SourceRect (Rectangle) A área de pixels dentro da textura a ser desenhada. Se a sobreposição for animada por meio de FrameCount, essa será a área do primeiro quadro. Classe usada: Rectangle
DrawPosition (Position) A posição do ladrilho na qual será desenhado o canto superior esquerdo da textura, em relação ao ladrilho do canto superior esquerdo do edifício. Classe usada: Position
Texture (str, Optional) Caminho do objeto da textura para ser desenhada. O padrão é a textura padrão do edifício.
DrawInBackground (bool, Optional) Se a textura deve ser desenhada atrás do sprite do edifício (ou seja, sob a camada) em vez de sobre ele.
SortTileOffset (float, Optional) Um deslocamento de ladrilho Y aplicado ao calcular as camadas de renderização. Por exemplo, um valor de 2,5 tratará a textura como se ela estivesse 2,5 blocos mais acima na tela para fins de disposição em camadas.
OnlyDrawIfChestHasContents (str, Optional) O ID de um baú definido no campo Baús que deve conter itens. Se estiver vazio, essa sobreposição não será renderizada. Padrão: nenhum.
FrameCount / FramesPerRow / FrameDuration (int, Optional) Se FrameCount for maior que um, a sobreposição do edifício será animada automaticamente. Para cada quadro, o SourceRect será deslocado por sua largura para a direita até FramesPerRow - 1 vezes e, em seguida, para baixo por sua altura. Cada quadro será renderizado na tela por milissegundos de FrameDuration antes de mudar para o próximo quadro.
Por exemplo, se você definir FrameCount como 6 e FramesPerRow como 3, o edifício esperará que os quadros sejam dispostos assim na planilha de sprites.
AnimalDoorOffset (Position, Optional) Um deslocamento de pixel aplicado à camada de desenho quando a porta do animal está aberta. Enquanto a porta estiver se abrindo, a porcentagem de abertura é aplicada ao deslocamento (por exemplo, 50% de abertura = 50% de deslocamento).

Exemplo

from StardewValley.Data import DrawLayers

# Usado na variavel DrawLayers dentro de uma classe BuildingsData

DrawLayers(
    Id="Default_AnimalDoor",
    SourceRect=Rectangle(0, 112, 16, 16),
    DrawPosition=Position(32, 96),
    DrawInBackground=False,
    SortTileOffset=0.02,
    FrameCount=1,
    FramesPerRow=-1,
    FrameDuration=90,
    AnimalDoorOffset=Position(0, -13)
)