Avatar do usuário
Implemente a exibição do avatar do usuário no seu frontend que oferece o recurso "entrar com o Sonolus".
Obter Avatar
O avatar do usuário pode ser obtido do ServiceUserProfile
durante a autenticação no servidor, multijogador ou externa. A exibição do avatar do usuário pode ser implementada com base nas seguintes propriedades:
ts
type ServiceUserProfile = {
// ...
avatarType: string
avatarForegroundType: string
avatarForegroundColor: string
avatarBackgroundType: string
avatarBackgroundColor: string
// ...
}
As seções a seguir descrevem diferentes tipos de avatar a serem implementados, bem como um exemplo de implementação em HTML e CSS.
Avatar temático
Quando avatarType
começa com theme-
, o usuário tem um avatar temático.
Deve ser implementado como:
- Uma camada com imagem
https://content.sonolus.com/avatar/{avatarType}
.
::: grupo de códigos
HTML
<div class="themed-avatar"></div>
CSS
.themed-avatar {
background-image: url(https://content.sonolus.com/avatar/theme-000001);
background-size: 100% 100%;
}
:::
Avatar padrão com fundo temático
Quando avatarType
é default
e avatarBackgroundType
começa com theme-
, o usuário tem um avatar padrão com fundo temático.
Deve ser implementado como:
- Uma camada de fundo com imagem
https://content.sonolus.com/avatar/background/{avatarBackgroundType}
. - Uma camada de primeiro plano com a imagem
https://content.sonolus.com/avatar/foreground/{avatarForegroundType}
, cor multiplicada comavatarForegroundColor
, dimensionada para 50% em tamanho e centralizada.
::: grupo de códigos
HTML
<div class="themed-avatar-background">
<div class="avatar-foreground"></div>
</div>
CSS
.themed-avatar-background {
background-image: url(https://content.sonolus.com/avatar/background/theme-000001);
background-size: 100% 100%;
}
.avatar-foreground {
width: 100%;
height: 100%;
background-color: #ffff00;
mask-image: url(https://content.sonolus.com/avatar/foreground/player);
mask-size: 50% 50%;
mask-position: 50% 50%;
mask-repeat: no-repeat;
}
:::
Avatar padrão com plano de fundo padrão
Quando avatarType
é default
e avatarBackgroundType
é default
, o usuário tem um avatar padrão com fundo padrão.
Deve ser implementado como:
- Uma camada de fundo com imagem
https://content.sonolus.com/avatar/background/default
e cor multiplicada comavatarBackgroundColor
- Uma camada de primeiro plano com a imagem
https://content.sonolus.com/avatar/foreground/{avatarForegroundType}
, cor multiplicada comavatarForegroundColor
e dimensionada para 50% em tamanho e centralizada.
::: grupo de códigos
HTML
<div class="avatar-background">
<div class="avatar-foreground"></div>
</div>
CSS
.avatar-background {
background-color: #00ffff;
mask-image: url(https://content.sonolus.com/avatar/background/default);
mask-size: 100% 100%;
}
.avatar-foreground {
width: 100%;
height: 100%;
background-color: #ffff00;
mask-image: url(https://content.sonolus.com/avatar/foreground/player);
mask-size: 50% 50%;
mask-position: 50% 50%;
mask-repeat: no-repeat;
}
:::
<estilo com escopo> .themed-avatar { largura: 128px; altura: 128px; imagem de fundo: url(https://content.sonolus.com/avatar/theme-000001); tamanho do fundo: 100% 100%; } .themed-avatar-background { largura: 128px; altura: 128px; imagem de fundo: url(https://content.sonolus.com/avatar/background/theme-000001); tamanho do fundo: 100% 100%; } .avatar-background { largura: 128px; altura: 128px; cor de fundo: #00ffff; imagem da máscara: url(https://content.sonolus.com/avatar/background/default); tamanho da máscara: 100% 100%; } .avatar-foreground { largura: 100%; altura: 100%; cor de fundo: #ffff00; imagem da máscara: url(https://content.sonolus.com/avatar/foreground/player); tamanho da máscara: 50% 50%; posição da máscara: 50% 50%; repetição da máscara: sem repetição; } </style>