Conectar-se

Esqueci minha senha

Últimos assuntos
» [DÚVIDA] Colisão de objeto afetar apenas um
Hoje à(s) 10:32 pm por Dragonrod

» colisão de queda após outra colisão dando problema
Ontem à(s) 8:18 pm por Willy

» [Duvida] O que aprender
Seg Jun 26, 2017 3:32 pm por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Seg Jun 26, 2017 2:50 pm por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex Jun 23, 2017 8:33 pm por Willy

» Regras do Fórum
Sex Jun 23, 2017 7:02 pm por GMBR

» Retorno da GMBR!!!
Ter Jan 24, 2017 2:43 pm por GMBR

» Jogo Dengue HTML
Seg Nov 30, 2015 3:17 pm por guga

» Criando IA Simples para inimigos
Qua Nov 25, 2015 6:22 pm por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex Ago 28, 2015 9:09 pm por Kodained

» Crio Trilha Sonora para Games!
Qui Ago 27, 2015 1:50 pm por Isaias Malafaia

» Problema com Colisão
Qui Ago 27, 2015 12:30 pm por The_Game

» Quem quer Uma Engine, e de Quê?
Qui Ago 27, 2015 9:22 am por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua Ago 26, 2015 11:38 am por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter Ago 25, 2015 9:29 pm por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg Ago 24, 2015 6:33 pm por AG Hydra

» Atirar na direção certa
Seg Ago 24, 2015 9:03 am por theguitarmester

» Western Duels
Seg Ago 24, 2015 7:47 am por theguitarmester

» Problemas na compilação android
Dom Ago 23, 2015 11:43 pm por Zero.

» Dúvida sobre strings, lendo txt
Sab Ago 22, 2015 8:31 pm por Pai véi

» Como estabilizar um som
Sab Ago 22, 2015 7:03 pm por Isquilo_Roedor

» Janela Modal
Sab Ago 22, 2015 9:23 am por Pai véi

» Sobre instance Creation Code
Sab Ago 22, 2015 8:39 am por Pai véi

» LudumDare #33
Sex Ago 21, 2015 9:17 pm por WellingtonBecker

» Como fazer um temporizador
Sex Ago 21, 2015 7:02 pm por Isquilo_Roedor

Quem está conectado
24 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 20 Visitantes

Dragonrod, Fubukki, Markituh, ReisBlender

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter Out 05, 2010 1:36 pm

[dúvi]Como fazer um sprite visível detro de outro?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[dúvi]Como fazer um sprite visível detro de outro?

Mensagem por rhaian em Qua Jul 03, 2013 10:29 am

Olá pessoal, estou apenas finalizando as minhas dúvidas, após finaliza-las vou poder começar a responder a ajudar a galera no fórum heheh XD. Pois tenho assuntos pendentes com essas dúvidas, e ao resolve-los fico de tempo livre. emfim, gostaria de saber como posso fazer um sprite ficar visível dentro de outro?:

por exemplo:
avatar
rhaian

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/12/2011
Número de Mensagens : 55
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por Mr. Kaleb em Qua Jul 03, 2013 11:54 am

Tem um ótimo tutorial que o saim traduziu e postou aqui no fórum, sobre blend modes, acho que ele trata sobre essa questão que você está precisando.
Blend Modes
avatar
Mr. Kaleb

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por PedroX em Qua Jul 03, 2013 12:16 pm

Para sprites retangulares, você precisa apenas fazer alguns cálculos.

Primeiramente, temos que desenhar o sprite que guardará o outro.
Código:
draw_sprite(Sprite1, 0, x, y)

Depois temos que desenhar o outro:

draw_sprite_part(qual_sprite, qual_frame, inicio_sprite_x, inicio_sprite_y, comprimento_sprite, largura_sprite, x_desenhar, y_desenhar)

Ficando assim:
Código:
draw_sprite_part(Sprite2, 0, (sprite_get_width(Sprite2)-sprite_width)/2, (sprite_get_height(Sprite2)-sprite_height)/2, sprite_width, sprite_height, x-sprite_xoffset, y-sprite_xoffset)


PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6034
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por rhaian em Qua Jul 03, 2013 12:27 pm

mas o sprite que quero não é retangular .-.. mas obrigado. pedrox. @ the games never finish, não é o que eu preciso. obriago pelas respostas
avatar
rhaian

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/12/2011
Número de Mensagens : 55
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por PedroX em Qua Jul 03, 2013 12:29 pm

O sprite que limita o outro é que deve ser retangular. Isso não serve? Como seria? Teria alguma forma regular (quadrado, circulo, triângulo, pentágono)? Ou seria irregular?

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6034
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por rhaian em Qua Jul 03, 2013 1:52 pm

Muito irregular, na verdade é um personagem, é possível faze-lo com surfaces?
avatar
rhaian

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/12/2011
Número de Mensagens : 55
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por GameMakerTutoriais em Seg Jul 15, 2013 10:37 am


Crie uma imagem em preto-e-branco com a forma exata que você quer. O conteúdo branco será o visível e o preto, invisível. As duas imagens (o sprite original e o preto-e-branco) devem ter as mesmas dimensões. Então, você pode usar esse código aqui (use apenas uma vez, no jogo inteiro):

Código:
sprite_set_alpha_from_sprite(sprite_original, mascara_preto_e_branco);

Isso vai deixar o sprite com o formato da imagem em p&B, mas não sei como isso vai influenciar nas colisões do seu jogo (caso esteja usando precise collision checking), já que não sei como ele está programado.

Também é possível com blend modes e surfaces porque eles vão funcionar como se estivessem "recortando a imagem". O "The Games Never Finish" postou o link para você. Eu só acrescentaria uma dica que é fazer todo o processo numa única surface.

É mais rápido pro Game Maker copiar o conteúdo da mesma surface pra mesma surface do que de uma pra outra. Você pode usar uma máscara em preto-e-branco (ou somente o alpha) pra fazer esse recorte (embora a função que eu postei seja mais fácil de usar), mas de nada adianta se você não entender o tutorial.

Leia lá e, qualquer dúvida, estamos a postos.

GameMakerTutoriais

Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por Marmitex em Seg Jul 15, 2013 8:19 pm

Usando surfaces da pra fazer assim :

Draw Event
surface = surface_create( 100 , 100 ).

surface_set_target( surface );
   draw_sprite( sprite preto , 0 , 0 ,0 );
   draw_set_blend_mode_ext( bm_dest_alpha , bm_zero );
   draw_sprite( sprite original , 0 , 0 , 0 );
   draw_set_blend_mode( bm_normal );
surface_reset_target();
draw_surface( surface , x , y );
surface_free( surface );

avatar
Marmitex

Data de inscrição : 10/07/2013
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [dúvi]Como fazer um sprite visível detro de outro?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum