[Ajuda] oq tem de errado nessa surface?

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

[Ajuda] oq tem de errado nessa surface?

Mensagem por siri100 em Qua 05 Set 2012, 01:11

ola galera eu baixei uma engine para fazer meu jogo e ela veio com um defeito na surface na end step aki o codogo
Código:

x = floor(objPlayer.x);
y = floor(objPlayer.y);

surface_set_target(buffer); //Set the surface target to the buffer
draw_clear_alpha(c_black,0);
screen_redraw(); //Redraw the screen, capturing it onto the buffer-surface.

surface_set_target(surface); //Set the surface target to the blur.
draw_clear_alpha(c_black,1);

draw_set_blend_mode_ext(7,11); //Unique Blend Mode
draw_surface(buffer,0,0); //Draw the buffer-surface (screen)
draw_set_blend_mode(bm_normal); //Reset Blend Mode
surface_reset_target(); //Reset Target

draw_surface_ext(surface,0,0,1,1,0,c_white,blur_amount); //Draw the surface correctly.

d3d_transform_set_identity();
screen_refresh(); //Present the result.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por superrafao em Qua 05 Set 2012, 08:40

É, isso me lembra a surface de deixar a room escura(alias, eu acho que e ela sim).
Mas me diz uma coisa, o jogo é em 3D? Olha o codigo d3d_transform_set_identity();
Para ele estar ali o jogo tem que ser em 3D né?
Explica sobre o codigo ai!

superrafao

Número de Mensagens : 414
Idade : 20
Data de inscrição : 18/08/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

?

Mensagem por God_of_war425 em Qua 05 Set 2012, 08:53

È verdade se tem codigo 3D provavelmente é de 3D,mais seria mais facil você criar uma imagem do tamanho da vizualização do jogador diminuir o image_alpha dela e por na frente da vizão do player.

Igual um oculos é bem mais eficais doque este metodo complicado e inutil...alem de ser pior demora muito mais e tem mais bugs,eu tenho um tutorial sobre iso mais foi iguinorado porque todos nesse forum acham que se for complicado é melhor...olha lá funciona perfeitamente.flw

A logica é criar um imagem do tamanho que o jogador vizualiza ex 640x480 pronto,crie a imagem e ponha para seguir na vizão do player qual é o problema nisso?é mais facil e pratico doque este metodo e ainda abre opçoes ilimitadas de modificaçoes!e é otimo para iniciantes que não sabem mecher com surfaces.

God_of_war425

Número de Mensagens : 510
Idade : 18
Data de inscrição : 29/10/2011
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por gabrielsch em Qua 05 Set 2012, 11:23

God_of_war425 escreveu:È verdade se tem codigo 3D provavelmente é de 3D,mais seria mais facil você criar uma imagem do tamanho da vizualização do jogador diminuir o image_alpha dela e por na frente da vizão do player.

Igual um oculos é bem mais eficais doque este metodo complicado e inutil...alem de ser pior demora muito mais e tem mais bugs,eu tenho um tutorial sobre iso mais foi iguinorado porque todos nesse forum acham que se for complicado é melhor...olha lá funciona perfeitamente.flw

A logica é criar um imagem do tamanho que o jogador vizualiza ex 640x480 pronto,crie a imagem e ponha para seguir na vizão do player qual é o problema nisso?é mais facil e pratico doque este metodo e ainda abre opçoes ilimitadas de modificaçoes!e é otimo para iniciantes que não sabem mecher com surfaces.

Surface é melhor para esse tipo de coisa, para fazer efeitos de lanterna e outros as surfaces são obrigatórias, a diferença é que com a surface você só precisar desenhar uma vez, ao invés de ficar usando vários draw_sprites e deixando o jogo lento.
Mas depende do que ele quer, se for apenas para deixar a room escura então faça com uma sprite ou então desenhe um quadrado preto com baixa opacidade.

Flw sorrindo2

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por siri100 em Qua 05 Set 2012, 11:25

superrafao escreveu:É, isso me lembra a surface de deixar a room escura(alias, eu acho que e ela sim).
Mas me diz uma coisa, o jogo é em 3D? Olha o codigo d3d_transform_set_identity();
Para ele estar ali o jogo tem que ser em 3D né?
Explica sobre o codigo ai!
bom eu estou fazendo um jogo do sonic e quando eu aperto o botão para o boost esta surface entra, deixãndo uma faixa azul por onde ele passe ate o boost acabar eu eu parar de segurar o botão.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por saim em Qua 05 Set 2012, 11:37

Essa engine, provavelmente, é um efeito de blur na tela inteira. Não de faixa em lugar nenhum. Mas eu posso estar errado.
Gozado, o código me parece ok, exceto que ele não deveria estar no end_step (pelo menos é a impressão que tive). Mas está incompleto, pra entender ele direito, seria bom mostrar o que existe nos demais eventos.

O código 3D me parece inócuo. Mais uma vez, pra ele estar ali, deve haver outra coisa antes dele.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por siri100 em Qua 05 Set 2012, 12:03

Ok blz vou mostrar todo o codico dessa Surface

Código:
Create
window_w = view_wview[0]; //The surface width
window_h = view_hview[0]; //The surface height
buffer  = surface_create(window_w,window_h); //The buffer-surface
surface = surface_create(window_w,window_h); //The blur-surface
blur_amount = 1; //The amount of blur (1 is no blur, 0 is frozen-screen)
set_automatic_draw(0); //Set automatic draw to 0

Código:
Destroy
set_automatic_draw(1); //Reset the drawing methods to automatic.
surface_free(buffer);
surface_free(surface);

Código:
Step
if blur_amount > 0.34
        blur_amount -= 0.05;

Código:
End Step
x = floor(objPlayer.x);
y = floor(objPlayer.y);

surface_set_target(buffer); //Set the surface target to the buffer
draw_clear_alpha(c_black,0);
screen_redraw(); //Redraw the screen, capturing it onto the buffer-surface.

surface_set_target(surface); //Set the surface target to the blur.
draw_clear_alpha(c_black,1);

draw_set_blend_mode_ext(7,11); //Unique Blend Mode
draw_surface(buffer,0,0); //Draw the buffer-surface (screen)
draw_set_blend_mode(bm_normal); //Reset Blend Mode
surface_reset_target(); //Reset Target

draw_surface_ext(surface,0,0,1,1,0,c_white,blur_amount); //Draw the surface correctly.

d3d_transform_set_identity();
screen_refresh(); //Present the result.

Código:
 Room End
set_automatic_draw(1); //Reset the drawing methods to automatic.
surface_free(buffer);
surface_free(surface);

o erro é este

(ERROR in
action number 3
of End Step Event
for object sfxBlurEffect:

Trying to use non-existing surface.)

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por saim em Qua 05 Set 2012, 13:52

Cara, essa engine é bem avançadinha, pra pequena quantidade de código que usa... Ela usa uns conceitos bem além dos triviais.
Mas o erro não deveria estar acontecendo... Ele não tem nada a ver com esses conceitos (que eu vou TER que dar uma estudada, mas isso é outro assunto).
Ele diz que você está usando uma surface que não existe, só que as duas surfaces usadas tanto em "surface_set_target" quanto em "draw_surface" ("buffer" e "surface") são declaradas no create event, portanto DEVERIAM ser reconhecidas. Esses códigos foram copiados da engine original ou da sua aplicação dela? Eu chequei aqui e não vi nenhum erro de digitação (que era o que eu ia sugerir procurar).

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por siri100 em Qua 05 Set 2012, 14:29

eu tb acho q sera um erro eu acho q é o meu pc q nao esta lendo essa surface algums pcs não le e tb tem outro jogo do sonic q tb da esse erro.
mais eu baixei um jogo do MatheusReis um moderador daki e a surface do jogo dele funciona.

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por luiz_eldorado em Qua 05 Set 2012, 14:33

A única coisa que eu pensei aqui é que o objeto estaria Persistent, então na hora que a room acabasse no "Room End", ele liberaria as surfaces, estão daria este erro porque as surfaces já tinham sido liberadas, mas o objeto não tinha sido destruído.
Ah, e eu testei aqui, ficou um efeito bem legalzinho, vou fazer outros testes aqui.

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 17
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por siri100 em Qua 05 Set 2012, 15:41

como assim funcionou? luiz c vc achar alguma formula de me ajudar ficarei muito grato

siri100

Número de Mensagens : 47
Data de inscrição : 03/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Ajuda] oq tem de errado nessa surface?

Mensagem por Conteúdo patrocinado Hoje à(s) 23:57


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