GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Mapa Externo

+2
luiz_eldorado
Luca$
6 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Mapa Externo Empty Mapa Externo

Mensagem por Luca$ Sáb 29 Set 2012, 14:25

Estou tentando fazer um sistema para carregar mapas externos,achei que sabia,mas não está dando muito certo :S

Estou usando um sistem assim:
1- É uma imagem .png,sendo que cada pixel é um bloco
Oque o sistema faz:
1 - Carrega a imagem;
2 - Lê os pixels;
3 - Desenha os objetos.

Olhem os códigos que estou usando:

Evento Release L key:
Código:

MAPA_LOAD=get_open_filename("Arquivos .PNG|*.png*","");

if MAPA_LOAD!=""
{
surface_free(EDITOR.MAPA)
SPRITE=sprite_add(MAPA_LOAD,0,0,0,0,0)
SPR_W=sprite_get_width(SPRITE)
SPR_H=sprite_get_height(SPRITE)
SURF_SPR=surface_create(SPR_W,SPR_H)
for (i=0; i<SPR_W; i+=1)
{
    for (a=0; a<SPR_H; a+=1)
    {
        PIXEL=surface_getpixel(SURF_SPR,i,a)
        surf_to_screen()
       
    }
};


}

O script surf_to_screen:
Código:

//spike
if PIXEL=make_color_rgb(180,42,17)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,0,i*16,a*16)
}
//Porta Azul
if PIXEL=make_color_rgb(26,78,131)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,1,i*16,a*16)
}
//Ponte Azul
if PIXEL=make_color_rgb(50,105,135)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,2,i*16,a*16)
}
//Parede de Pedra
if PIXEL=make_color_rgb(49,52,18)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,3,i*16,a*16)
}
//Parede de Pedra
if PIXEL=make_color_rgb(49,52,18)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,3,i*16,a*16)
}
//Escada
if PIXEL=make_color_rgb(43,21,9)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,3,i*16,a*16)
}
//Bloco de Pedra
if PIXEL=make_color_rgb(100,113,96)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,4,i*16,a*16)
}
//Bullion de Ouro AZUL
if PIXEL=make_color_rgb(213,196,9)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,5,i*16,a*16)
}
//OURO
if PIXEL=make_color_rgb(254,165,61)
{
surface_set_target(EDITOR.MAPA)
draw_sprite(SPRITES2,6,i*16,a*16)
}
surface_reset_target()


É um script que checa a cor e desenha o bloco,ou,deveria fazer isso.

Alguem sabe o porque de ele não estar desenhando os blocos?

EDIT:

Desculpe,postei na área de GMS,oque estou usando é o Game Maker 8.0.
Algum moderador mova ai para mim.
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por luiz_eldorado Sáb 29 Set 2012, 18:03

Você carregou tudo certo eu acho, mas tipo, você por acaso está desenhando a surface depois?
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Kapoty Sáb 29 Set 2012, 18:09

Fiz uma pequena engine para você : http://www.mediafire.com/?cgqrsx79rdlqt25

Diga se ajudou.
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Sáb 29 Set 2012, 18:41

luiz_eldorado escreveu:Você carregou tudo certo eu acho, mas tipo, você por acaso está desenhando a surface depois?
Sim,o código que desenha a surface está em outra parte que não coloquei ali,mas ela está sendo desenhada sim Smile

kapoty escreveu:Fiz uma pequena engine para você : http://www.mediafire.com/?cgqrsx79rdlqt25

Diga se ajudou.

Cara,até ajudaria se fosse do jeito que estou fazendo,mas não é =/
Porque do jeito que você vez,só muda a cor do bloco,e do jeito que estou fazendo,é um sprite pra cada bloco,porque cada bloco é totalmente diferente do outro.

EDIT:

Eu adicionei uma linha ao código para salvar a surface em uma imagem,e constatei:
O erro é que os blocos não estão sendo desenhados na surface,pois a imagem que foi salva estava totalmente em branco.
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Kapoty Sáb 29 Set 2012, 19:05

Uma pergunta : Você está desenhando a sprite na tela antes de executar estes códigos?
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por luiz_eldorado Sáb 29 Set 2012, 19:08

Já ví o problema! Você tá criando duas surfaces, a "SURF_SPR" e "MAPA" (do objeto "EDITOR"). Você está criando uma e desenhando na outra.
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Sáb 29 Set 2012, 19:11

Ooopsss *vergonha*

Tinha esquecido de desenhar o sprite na surface que eu pego as coordenadas pale

Acho que agora vai dar tudo certinho.

EDIT:

Não sei se o jogo do qual estou tentando fazer o editor de mapas existe uma numeração diferente de cores.
Mas,estou me baseando nesta pagina oficial: https://wiki.kag2d.com/wiki/Map

Uso a mesma numeração,mas na hora de carregar,ele carrega aulguns blocos errados =/
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Kapoty Sáb 29 Set 2012, 22:36

GMLucas escreveu:
Não sei se o jogo do qual estou tentando fazer o editor de mapas existe uma numeração diferente de cores.
Mas,estou me baseando nesta pagina oficial: https://wiki.kag2d.com/wiki/Map

Uso a mesma numeração,mas na hora de carregar,ele carrega aulguns blocos errados =/

Tente fazer o seguinte, faça como se fosse um debug-mode e veja se as cores que estão sendo pegadas pelo draw_getpixel coincidem com as cores que você colocou nos IF, para fazer isso pegue a posição exata de uma cor que você deseja testar como por exemplo "x=2;y=9" e faça isso :
Código:
show_message(draw_getpixel(2,9))
Veja se a cor que está sendo mostrada é igual a que deveria ser.

Diga se ajudou em algo.
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Dom 30 Set 2012, 18:43

Kapoty,eu testei com uma cor,e deu certo sim,as cores batiam =/
Se vocês quiserem ver a engine,eu posso mandar Smile
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Kapoty Dom 30 Set 2012, 18:46

GMLucas escreveu:Se vocês quiserem ver a engine,eu posso mandar Smile
Queremos sim, mande-a.
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Dom 30 Set 2012, 19:31

Aqui está:
Download

Desculpe se não entender algo,é que não costumo colocar comentários =/
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por theguitarmester Dom 30 Set 2012, 23:32

Talves falo Bobagem, mas pelo que percebo, você coloca uma cor no ALPHA "digamos" Azul, mas no jogo aparece Verde, é isto sua Pergunta?
Se for, talves seja porque você colocou esta cor em um Objeto já colorido co qualquer cor que não seja Branco, isto é, você estaria colocando uma cor misturada com outra. para resolver isto coloque o Objeto em tons de Cinza/ Preto e Branco.

se não for esta sua dúvida, Desculpe.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2208
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Henrique_GJ Seg 01 Out 2012, 08:29

mas.... como vc vai fazer pra colocar mais de um objeto num mesmo lugar? vai q vc precisa disso õ_o
Henrique_GJ
Henrique_GJ

Data de inscrição : 30/12/2009
Reputação : 4
Número de Mensagens : 1344
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Java
  • C ou C++


http://sitedosjogos.forumeiros.com

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por saim Seg 01 Out 2012, 09:24

Eu faço isso direto. Criar um mapa em .bmp com uma legenda de cores, pra carregar como objetos, depois. A diferença é que eu crio objetos ao invés de desenhar sprites, mas fora isso, é a mesma coisa.

O primeiro erro que eu vi, você já viu, estava faltando desenhar a sprite pra verificar as cores. O segundo ainda não foi apontado: no final do script "surf_to_screen", você está usando surface_reset_target, o que impede o programa de continuar lendo a surface SURF_SPR. Acho que a função a ser usada deveria ser surface_set_target(SURF_SPR);. No final do código principal, você reseta a surface (e pode até eliminar a SURF_SPR, que já não tem mais utilidade).

Duas coisas que eu mudaria no seu script:
- no script, ao invés de usar um montão de "ifs", eu usaria um "switch". Em tradução livre, um "switch" significa "um montão de ifs". Não acho que seria muito mais eficiente, mas ficaria mais organizado (com certeza seria um pouco mais eficiente).
- pra cada "if", em cada iteração, você está criando uma cor. Isso é desnecessário. Você pode criar as cores antes dos loops "for" e armazená-las em variáveis (cor[0] = make_color_rgb, coisa assim) e acessá-las de dentro do script. Ou, se tiver um pouco mais de tempo, simplesmente use cores que você conheça o valor e escreva o valor dela. Isso, com certeza, aumenta a eficiência do script.

Por fim, já que está usando um script, você ainda pode usar a função "return". Não vai fazer diferença nenhuma com relação à eficiência, mas vai ser divertido usar isso. Você vai retornar só a sprite a ser desenhada, ao invés de desenhar através do script. E a cor, você pode entrar como argumento no script. Aí, o script ficaria mais ou menos assim:
Código:
var corPixel, retornar;
corPixel = argument0;

switch (corPixel){
   case (cor[0]): //spike
   {
      retornar = 0;
      } break;
   case (cor[1]): //Porta Azul
   {
      retornar = 1;
      } break;
   case (cor[2]): //Ponte Azul
   {
      retornar = 2;
      } break;
   case (cor[3]): //Parede de Pedra
   {
      retornar = 3;
      } break;
   case (cor[4]): //Escada
   {
      retornar = 3;
      } break;
   case (cor[5]): //Bloco de Pedra
   {
      retornar = 4;
      } break;
   case (cor[6]): //Bullion de Ouro AZUL
   {
      retornar = 5;
      } break;
   case (cor[7]): //OURO
   {
      retornar = 6;
      } break;
   }

return(retornar);
E o código inicial seria diferente, também:
Código:
MAPA_LOAD=get_open_filename("Arquivos .PNG|*.png*","");

if MAPA_LOAD!=""
{
cor[0] = make_color_rgb(180,42,17);
cor[1] = make_color_rgb(26,78,131);
cor[2] = make_color_rgb(50,105,135);
cor[3] = make_color_rgb(49,52,18);
cor[4] = make_color_rgb(43,21,9);
cor[5] = make_color_rgb(100,113,96);
cor[6] = make_color_rgb(213,196,9);
cor[7] = make_color_rgb(254,165,61);
surface_free(EDITOR.MAPA)
SPRITE=sprite_add(MAPA_LOAD,0,0,0,0,0)
SPR_W=sprite_get_width(SPRITE)
SPR_H=sprite_get_height(SPRITE)
SURF_SPR=surface_create(SPR_W,SPR_H)
surface_set_target(SURF_SPR);
draw_sprite(SPRITE, 0, 0, 0);

for (i=0; i<SPR_W; i+=1)
{
    for (a=0; a<SPR_H; a+=1)
    {
        PIXEL=surface_getpixel(SURF_SPR,i,a)
        imagem_a_usar = surf_to_screen(PIXEL);
        surface_set_target(EDITOR.MAPA);
      draw_sprite(SPRITES2,imagem_a_usar,i*16,a*16)
        surface_set_target(SURF_SPR);
    }
};
surface_reset_target();
surface_free(SURF_SPR);
}
--> foi mal, empolguei e fiz TODAS as alterações que tinha sugerido.

Note que "parede de pedra" e "escada" estão com a mesma imagem. Não tirei isso da minha cabeça, o código original estava assim. Ah, e retirei uma redundância também (tinha um objeto repetido, agora perdi qual era, não vou editar a mensagem pra olhar).
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Mapa Externo Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Seg 01 Out 2012, 12:28

Vlw pelas dicas Saim Smile

Coloquei os 2 códigos que me mandou,mas uma msg de erro aparece:
Código:

___________________________________________
ERROR in
action number 1
of Key Release Event for L-key Key
for object EDITOR:

In script surf_to_screen:
Error in code at line 39:
  return(retornar);
          ^
at position 9: Unknown variable retornar
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por saim Seg 01 Out 2012, 13:07

É, depois que mandei os códigos, pensei na possibilidade da cor não ser nenhuma daquelas previstas dentro do switch. Se isso acontecer, aparece esse erro. Faz o seguinte, crie mais uma imagem na SPRITES2, pode ser uma imagem com alpha=0, mesmo, só pra ter o que retornar. Daí, acrescente, no final do switch,
Código:
default: retornar = numero_da_imagem_vazia
Em teoria, o código vai desenhar a imagem com alpha=0, ou seja, vai gastar um pedacinho de memória, mas o resultado será o esperado.

Ah, pra ver como usar esse "default" eu tive que consultar o manual e percebi que o parêntese depois do "case" é dispensável. Acho que não faz mal, mas se quiser eliminar, pode.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Mapa Externo Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Seg 01 Out 2012, 13:47

Resolveu o error sim Saim Smile

Mas,o Switch me confundiu tudo com os números,porque agora nem sei oque é oque :S

Tipo,é que não são só aqueles 7 blocos ali,ai agora pra mim editar esse switch eu me confundo todo :S
E nem sei como voltar atrás mais .-.

OBS: https://dl.dropbox.com/u/32092067/Projeto%28Publico%29.gmk

Se quiser baixar pra ver como tá =/
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por saim Seg 01 Out 2012, 14:07

Eu até gostaria de baixar, mas daqui não tenho nem como baixar nem como abrir.
Achei que, como o código original era seu, o switch seria auto-explicativo, por isso não comentei. O que eu fiz foi o seguinte:
1 - gravei as cores a serem pesquisadas em variáveis (pra não ter que ficar recriando essas cores em cada iteração);
2 - coloquei a cor do pixel como argumento a ser inserido no script. Assim, ao invés de usar a variável PIXEL, eu usei o argument0. Hm..., até perdi a oportunidade de agilizar o código, nessa hora, daqui a pouco eu conserto isso.
3 - num switch, eu verifiquei cada uma das possibilidades e retornei a IMAGEM da sprite a ser desenhada. É que eu tinha notado que todas as imagens eram da mesma sprite, então pensei na possibilidade de retornar só o número da imagem. Isso dá uma generalizada no script, facilitando o uso dele em outros programas. Se as imagens não forem todas da mesma sprite, aí não tem jeito, você vai ter que fazer a parte de desenhar dentro do script mesmo (direciona pra surface pra tela, desenha a sprite na imagem correta e redireciona pra surface do mapa) porque não dá pra retornar 2 argumentos do mesmo script (e não acho que valha a pena fazer 2 scripts).

O que eu perdi a chence de melhorar no passo 2 foi o seguinte: a gente não precisa da variável "PIXEL". Ela só serve pra ser usada como argumento no script. Podemos colocar uma função como argumento do script. O ganho em processamento é mínimo (imperceptível mesmo), então é só questão de organização pessoal.
Código:
(...)
imagem_a_usar = surf_to_screen(surface_getpixel(SURF_SPR,i,a));
(...)
Se achar bobagem, pelo menos lembre-se de fazer de PIXEL uma variável "var".
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Mapa Externo Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Luca$ Seg 01 Out 2012, 14:19

Opa,agora eu entendi sim,vlw Smile

Cara,será que eu posso te adicionar no MSN?ou Skype,etc.
É que tem um bug que acontece desde que eu criei o programa,já postei 3 vezes no fórum,até agora ninguem conseguiu me ajudar =/
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : Mapa Externo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por saim Seg 01 Out 2012, 15:48

GMLucas escreveu:Cara,será que eu posso te adicionar no MSN?ou Skype,etc.
Não Sad
Não é má vontade, é que eu não entro nesses programas de bate-papo. Aqui onde estou, é um milagre o fórum não estar bloqueado, porque tudo o mais está. Em casa, a internet é liberada, mas minha agenda não (essa tal de jornada dupla acaba com a produção de games...).
Eu estou sempre no fórum, sempre tentando ajudar casos como o seu. Se não postei nada na sua dúvida, ou achei que alguma das respostas seria suficiente sem necessidade de complementação (eu sou muito metido a alterar códigos dos outros) ou não sei responder. Seja como for, deixe um link pra ela que eu dou uma olhada.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Mapa Externo Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Mapa Externo Empty Re: Mapa Externo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos