[Função] Nine Slice Scale (Nove Fatias) |
Ninguem « Consul » 1647225240000
| 3 | ||
Está querendo criar um estilo próprio de janelas, mas não está afim de editar uma imagem para cada tamanho de janela? Você poderia usar apenas uma imagem e então redimensionar ela com os novos parâmetros scaleX e scaleY do tfm.exec.addImage, mas isso gera alguns problemas. Veja abaixo: Note como as imagens ficam distorcidas. Os cantos ficam desproporcionais conforme você estica as imagens. Claramente não é uma boa forma de reutilizar uma imagem para utilizar em diversos tamanhos. Para resolver este problema, existe uma técnica no design de interfaces que se chama nine slice scaling, ou nova fatias. Com essa técnica você divide a imagem de base em 9 pedaços, 4 vão ser os cantos, 4 são as laterais e 1 vai ser o centro. Veja abaixo como ficaria a divisão de uma imagem: O intuito de fazer isso, é que ao redimensionar a imagem, você mantenha a proporção dos cantos e estique apenas as laterais e o centro. Veja como fica: Para isto funcionar no Transformice, você deve dividir a imagem base em 9 imagens diferentes. Na função que eu fiz, você deve fazer upload das 9 imagens (pode ser por aqui) e então colocar numa tabela assim: Code Lua 1 2 3 4 5 6 7 8 9 10 11 fatias = { É muito importante colocar no w e no h a largura e a altura da imagem respectivamente. A ordem das imagens também importa: a primeira é o canto superior esquerdo, a segunda é a parte de cima, a terceira é o canto superior direito e assim por diante, veja abaixo o guia: Depois de criado o modelo, você pode utilizar a função nineSlicedRect para desenhar uma janela. nineSlicedRect(model, target, targetPlayer, x, y, width, height)
A função retorna uma table com o id das imagens para que você possa remover depois. Abaixo a função para utilizar no código: Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 function nineSlicedRect(source, target, targetPlayer, x, y, width, height) Outros modelos para utilizar: Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 windows95button = { Dernière modification le 1648396740000 |
Bolodefchoco « Sénateur » 1647226080000
| 0 | ||
Sofri muito com aquele problema, nunca tive paciência pra tentar achar outras formas hehe Salvou nonão |
0 | ||
Sensacional cara você salvo minha vida inves de criar uma do zero eu posso agora criar e organizar Dernière modification le 1647705360000 |
0 | ||
mas como faço pra remover as img Dernière modification le 1647705300000 |
Ninguem « Consul » 1647722460000
| 0 | ||
Sklag a dit : Você precisa colocar o resultado da função numa variável, que será uma tabela, então pra remover é só dar tfm.exec.removeImage() nos elementos dessa tabela. Code Lua 1 2 3 4 5 6 ids = nineSlicedRect(...) |
0 | ||
Ninguem a dit : obrigado |
Gamedroit « Citoyen » 1647727080000
| 0 | ||
Muito bom None, eu já conhecia o conceito mas nunca pensei em aplicar ele no tfm. @Edit: Seria legal se o Tig nos permitisse criar nossas próprias interfaces para os minigames, usando o design do jogo mesmo. Dernière modification le 1647727200000 |
0 | ||
Gamedroit a dit : em fala nisso Gamedroit a dit : em falando sobre interfaces vo tenta fazer uma interface usano o design de pokemon se quise vc pode faze uma pra mim kk Dernière modification le 1647729360000 |
0 | ||
o ninguem qual editor vc usou pra separa essas imgs? |