Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
Window skin
4 participantes
Página 1 de 1
Window skin
Pessoal estou com uma duvida para desenhar Window skin para fazer um menu como aqueles do RPG maker.
Minha duvida!
Tem como eu pegar um " pedaço" em algum lugar de uma " sprite" e desenhar somente aquele pedaço ?
Exemplo:
Eu tenho a imagem:
, então eu quero desenhar só o azul... é possovel ?
Minha duvida!
Tem como eu pegar um " pedaço" em algum lugar de uma " sprite" e desenhar somente aquele pedaço ?
Exemplo:
Eu tenho a imagem:
, então eu quero desenhar só o azul... é possovel ?
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
Sim, é. Dê uma procurada na ajuda do Game Maker por draw_sprite_part.
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Window skin
sim:
- Código:
draw_sprite(sprite,subimg,x,y) //Desenho normal
draw_sprite_stretched(sprite,subimg,x,y,w,h) //desenha alongando
draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) //Desenha com mais efeitos, como rotação, alpha e cor.
draw_sprite_stretched_ext(sprite,subimg,x,y,w,h,color,alpha) //Desenha completo + alongamento.
draw_sprite_part(sprite,subimg,left,top,width,height,x,y) //Desenha parte da sprite****Aki é o seu****
draw_sprite_part_ext(sprite,subimg,left,top,width,height,x,y,xscale,yscale,color,alpha) //Parte+efeitos
//Agora um mais completo
draw_sprite_general(sprite,subimg,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha) //Tudo aki
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: Window skin
Vamos lá: Seguinte.
O que eu quero fazer é desenhar um menu.
No caso eu quero desenhar uma parte da sprite:
Exemplo: vejana imagem que eu selecionei em azul um perdaço dela.
então eu quero desenhar um quadrado de 400px x 400 px
usando a imagem
então eu pego a parte que está dentro do Azul faço um ' traço'
e então arredondo com a parte que está dentro do vermelho. que são os ' cantos'
e o preenchimento é a parte que fica dentro do verde. eu tendei de todas as formas com draw_sprite_general e não aconteceu um resultado satisfatório.
O que eu quero fazer é desenhar um menu.
No caso eu quero desenhar uma parte da sprite:
Exemplo: vejana imagem que eu selecionei em azul um perdaço dela.
então eu quero desenhar um quadrado de 400px x 400 px
usando a imagem
então eu pego a parte que está dentro do Azul faço um ' traço'
e então arredondo com a parte que está dentro do vermelho. que são os ' cantos'
e o preenchimento é a parte que fica dentro do verde. eu tendei de todas as formas com draw_sprite_general e não aconteceu um resultado satisfatório.
Última edição por devcc em Sex 19 Jul 2013, 22:13, editado 1 vez(es)
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
draw_sprite_part faz exatamente isso, mais você tem que usar varias vezes... dá mesmo um pouco de trabalho criar esse tipo de ground/GUI com sprites unicos
Re: Window skin
Lembre-se que as partes você corta como se fosse um quadrado, cada um é uma parte.
Mais acho melhor vc fazer isso com tiles de bg
Mais você pode colocar o script usado?
Mais acho melhor vc fazer isso com tiles de bg
Mais você pode colocar o script usado?
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: Window skin
Você poeria citar um exemplo em códigos ? por favor
OBS:
No caso.. usando 'draw_sprite_part '
eu teria que desenhar o mesmo varias vezes, um na frente do outro ?
então se eu quero uma linha de 400px terei de usar draw_sprite_part uma 20 vezes ?
Não to sacando...
e no caso no bg tile como faz ?
No caso o meu script atual eu fiz usando o ' raw_roundrect_color ' mas a cor é feia de mais... deu até tristeza no resultado.
OBS:
No caso.. usando 'draw_sprite_part '
eu teria que desenhar o mesmo varias vezes, um na frente do outro ?
então se eu quero uma linha de 400px terei de usar draw_sprite_part uma 20 vezes ?
Não to sacando...
e no caso no bg tile como faz ?
Rodrigo Santiago escreveu:Lembre-se que as partes você corta como se fosse um quadrado, cada um é uma parte.
Mais acho melhor vc fazer isso com tiles de bg
Mais você pode colocar o script usado?
No caso o meu script atual eu fiz usando o ' raw_roundrect_color ' mas a cor é feia de mais... deu até tristeza no resultado.
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
Script:
use algo assim:
- Código:
//Nome do script: DSP()
//Uso: DSP(x,y,Sprite_index,image_index,width,height,px,py)
//By: Isaque Onix
draw_sprite_part(argument2,argument3,argument6*argument4,argument7*argument5,argument4,argument5,argument0,argument1)
use algo assim:
- Código:
DSP(x,y,sprite_index,image_index,16,16,0,0)
Re: Window skin
Eu achei um código aqui.. que talvez funcione. Mas vou testar esse seu codigo primeiro. pq se der certo. eu uso ele.
ma o que achei é esse aqui:
//Regulador de tamanho para imagem
// By Tedi
//Edite com as informaçoes desejadas
tam_x=32 //Tamanho X desejado
tam_y=32 //Tamanho Y desejado
//Script
tam_org_x=sprite_get_width(sprite_index) //Verifica o tamanho X
tam_org_y=sprite_get_height(sprite_index) //Verifica o tamanho Y
argument0=tam_x*100/tam_org_x //Descobre a porcentagem X
argument1=tam_y*100/tam_org_y //Descobre a porcentagem Y
image_xscale=argument0/100 //Muda o X do sprite_index
image_yscale=argument1/100 //Muda o Y do sprite_index
ma o que achei é esse aqui:
//Regulador de tamanho para imagem
// By Tedi
//Edite com as informaçoes desejadas
tam_x=32 //Tamanho X desejado
tam_y=32 //Tamanho Y desejado
//Script
tam_org_x=sprite_get_width(sprite_index) //Verifica o tamanho X
tam_org_y=sprite_get_height(sprite_index) //Verifica o tamanho Y
argument0=tam_x*100/tam_org_x //Descobre a porcentagem X
argument1=tam_y*100/tam_org_y //Descobre a porcentagem Y
image_xscale=argument0/100 //Muda o X do sprite_index
image_yscale=argument1/100 //Muda o Y do sprite_index
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
esses scripts ( o meu e esse do Tedi ) fazem coisas completamente diferentes, o meu, desenha uma parte do sprite, e o do Tedi desenha o sprite inteiro com um tamanho pre-definido...
Re: Window skin
Exatamente, veja o raciocínio, Eu desenho a sprite com seu script e estico ela com o script dele. assim eu não irei precisar desenhar vários tracinhos até forma uma linha de 400px, tendeu ?
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
só pra constar, isso pode até dar certo, mais você vai ter que mecher muito em ambos os scripts, o script dele almenta sprites...
Re: Window skin
então cara, tentei durante 1 hora sem parar selecionar a parte branca da sprite e não conseguir com esse código.. por favor. tem como vc me dizer como manipular as posição onde será cortado a imagem ?
EDIT
HÀAA era um sinal de + que estava faltando... agora deu certo!!!!!
Okay: então... agora como fazer para 'esticar' esse pedaço que desenhei ?
EDIT
HÀAA era um sinal de + que estava faltando... agora deu certo!!!!!
Okay: então... agora como fazer para 'esticar' esse pedaço que desenhei ?
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
bom, já que você ainda não intendeu intão vou falar tudo!
Codigo:
subimg: imagem do sprite, tem que ser do mesmo sprite que você escolheu!
left: é a posição horizontal do corte
top: posição vertical do corte
width: tamanho horizontal (largura) do corte
height: tamanho vertical (altura) do corte
x: posição horizontal na room
y: posição vertical na room
agora só configurar do seu jeito, meu script retornava quadrados exatos, partia o sprite em varios, daí era só definir quais quadrados usar com os ultimos 2 argumentos, mais estude bem o código que você vai intender.
Codigo:
- Código:
draw_sprite_part(sprite,subimg,left,top,width,height,x,y)
subimg: imagem do sprite, tem que ser do mesmo sprite que você escolheu!
left: é a posição horizontal do corte
top: posição vertical do corte
width: tamanho horizontal (largura) do corte
height: tamanho vertical (altura) do corte
x: posição horizontal na room
y: posição vertical na room
agora só configurar do seu jeito, meu script retornava quadrados exatos, partia o sprite em varios, daí era só definir quais quadrados usar com os ultimos 2 argumentos, mais estude bem o código que você vai intender.
Re: Window skin
Sim eu já consigo fazer as linhas, mas tem um porém, eu tive que fazer o seguinte:
Isso gerou um traço de 48 pixel de traço... seria mais interessante um redimencionamento da parte da imagem desenhada.
obs: eu já sei como funciona seu script. e é EXATAMENTE o que eu estava buscando.
agora falta só a questão de aumentar o tamanho na horizontal do desenho.
- Código:
DSP(200,200,sprite_index,image_index,16,16,+5,+0)
DSP(216,200,sprite_index,image_index,16,16,+5,+0)
DSP(232,200,sprite_index,image_index,16,16,+5,+0)
Isso gerou um traço de 48 pixel de traço... seria mais interessante um redimencionamento da parte da imagem desenhada.
obs: eu já sei como funciona seu script. e é EXATAMENTE o que eu estava buscando.
agora falta só a questão de aumentar o tamanho na horizontal do desenho.
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
olha só, usa o for, exemplo:
for(i=0; i<8; i+=1){
DSP(232+(i*16),200,sprite_index,image_index,16,16,+5,+0)
}
i=0 // inicializa em 0, como qualquer variavel
i<8// o mesmo que if(i<8 )
i+=1// não preciso explicar né ?'-'
a variavel i vai almentando até chegar a 8 (é um loop)
232+(i*16)
desenha na posição x 232+i*16, e como a variavel i vai almentando em um loop... desenha o sprite repetidament, ex:
232+i*16= 232+16
232+i*16= 232+32
232+i*16= 232+48
232+i*16= 232+64 , etc...
for(i=0; i<8; i+=1){
DSP(232+(i*16),200,sprite_index,image_index,16,16,+5,+0)
}
i=0 // inicializa em 0, como qualquer variavel
i<8// o mesmo que if(i<8 )
i+=1// não preciso explicar né ?'-'
a variavel i vai almentando até chegar a 8 (é um loop)
232+(i*16)
desenha na posição x 232+i*16, e como a variavel i vai almentando em um loop... desenha o sprite repetidament, ex:
232+i*16= 232+16
232+i*16= 232+32
232+i*16= 232+48
232+i*16= 232+64 , etc...
Re: Window skin
o_O... Okay, o principal problema é que será a primeira vez que irei usar FOR, então seja paciente comigo. e eu dou graças a Deus que você estar respondendo todas as mensagens.
Vamos lá:
esse FOR vai ficar desenhando minha sprite até o infinito ?
Como eu devo por aqui na pratica ?
Vamos lá:
esse FOR vai ficar desenhando minha sprite até o infinito ?
Como eu devo por aqui na pratica ?
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
o for, nesse caso, vai desenhar até chegar a 232+(8*16) ou 232+128, se você diminuir o almentar o 8 do comando do for, a "linha" de sprites vai diminuir em 16, o código que eu coloquei lá em cima mostra como fazer uma linha horizontal, para vertical, nesse caso seria 200+(i*16), claro que tem que colocar aonde desenha o a posição y.
Ps: posso sair a qualquer momento, mais assim que eu entrar, se ninguem tiver respondido eu respondo!
Ps: posso sair a qualquer momento, mais assim que eu entrar, se ninguem tiver respondido eu respondo!
Re: Window skin
Putz, tu é realmente bom em GML!
eu teria feito ums 200 linhas ! tu resolveu e, 2!
Bom, obrigado mesmo por sua ajuda. Mas amanha é dia de viajar ( vou viajar) Vou fechar o maker agora. mas assim que eu terminar o menu, posto aqui para tu ver o resultado.
eu teria feito ums 200 linhas ! tu resolveu e, 2!
Bom, obrigado mesmo por sua ajuda. Mas amanha é dia de viajar ( vou viajar) Vou fechar o maker agora. mas assim que eu terminar o menu, posto aqui para tu ver o resultado.
devcc- Data de inscrição : 07/07/2013
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Window skin
okok mais eu sou iniciante em gml kkk um dia ainda vou ser bom :p Boa sorte, e qquer coisa... é só falar!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|