problemas com sprites em variaveis array

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

problemas com sprites em variaveis array

Mensagem por Fabião em Dom 21 Fev 2010, 20:16

Olá pessoal ! Estou tendo problemas com sprites em variaveis array

Create:
Código:

sprite_index = quadro_1
imagem[0]= sprite_index
imagem[1]= sprite_index
imagem[2]= sprite_index

Draw:
Código:

for(i=0; i<=2; i+=1) { draw_sprite(string(imagem[i]),0,x+10,y+(70*i)) }

o problema é quando eu troco de sprite

Mouse left pressed:
Código:

sprite_index = quadro_2

Não muda de sprite de jeito nenhum, continua o mesmo sprite inicial(index)
me parece que ele sempre pega 1º sprite criado na engine

Existe uma forma de reverter isso?
ou outra forma de fazer isso?
ou o jeito que estou fazendo está errado?

Mas tem que ser com sprite.
Pq?
animações diferente!

OK ,valeu pessoal pela atenção abraços.

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Henrique_GJ em Dom 21 Fev 2010, 20:45

sprite_index = quadro_1
imagem[0]= sprite_index
imagem[1]= sprite_index
imagem[2]= sprite_index

por isso não muda

é como se vc escrevesse apenas sprite_index = quadro_1

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Fabião em Dom 21 Fev 2010, 20:49

[quote=\"Henrique_GJ\"]sprite_index = quadro_1
imagem[0]= sprite_index
imagem[1]= sprite_index
imagem[2]= sprite_index[/quote]

por isso não muda

é como se vc escrevesse apenas sprite_index = quadro_1[/quote]

Desculpe-me, mas não endendi?
fale mais detalhado!

Bom já tentei de várias formas e não mudou nada

assim:
Código:

imagem[0]= sprite_index = quadro_1
imagem[1]= sprite_index = quadro_1
imagem[2]= sprite_index = quadro_1

//ou

sprite=sprite_index = 2
imagem[0]= sprite
imagem[1]= sprite
imagem[2]= sprite


Bom fiz um teste, apaguei o 1º sprite que criei na engine e fiz outro com os mesmo nome, dai deu erro no código.
não sei pq mas me parece que ele só pega a primeira sprite criada na engine.


Última edição por Fabião em Dom 21 Fev 2010, 21:01, editado 2 vez(es)

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Henrique_GJ em Dom 21 Fev 2010, 20:59

vixi kra, eu me confundi, foi malz 'sorry'

Ps.: de onde vc surgiu? eu nunk vi vc antes e vc é colaborador? num acredito! com a metade dos meus posts

Spoiler:
tá bom, eu sei que essas coisas não se medem por post mas...

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Fabião em Dom 21 Fev 2010, 21:04

Henrique_GJ escreveu:vixi kra, eu me confundi, foi malz 'sorry'

Ps.: de onde vc surgiu? eu nunk vi vc antes e vc é colaborador? num acredito! com a metade dos meus posts

Spoiler:
tá bom, eu sei que essas coisas não se medem por post mas...

Pq o espanto?Shocked
Estou neste fórum desde de seu inicio Ok?
é que fiquei afastado por muito tempo do fórum e agora retornei.
é pq cooperei bastante no começo! Very Happy
isso não se ganha por números de postagens.

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por PedroX em Dom 21 Fev 2010, 21:29

eu lembro do fabio ricardo...eu tambem to quase des de o inicio....
ou é pq vc ta usano o for entao o i vai mudano por causa do i+=1 entao vc tem que mudar dentro do for ou algo parecido

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Igor KinGamer em Dom 21 Fev 2010, 22:31

Não sei se entendi bem qual é o seu objetivo com esses códigos, mas percebi alguns pontos que devem ser os motivos de não estar dando certo:

// Create:

sprite_index = quadro_1
imagem[0]= sprite_index
imagem[1]= sprite_index
imagem[2]= sprite_index


Com esses códigos, no início, imagem[0], imagem[1] e imagem[2] vão ser iguais a sprite_index, e, como esse código está só no create, vão ficar assim até o seu PC dar pau, ou seja, com o valor do sprite que o objeto estava quando foi criado.

// Draw:

for(i=0; i<=2; i+=1) { draw_sprite(string(imagem[i]),0,x+10,y+(70*i)) }


Aqui, tem um erro na função draw_sprite. No sprite, você colocou "string(imagem[i])". Não faz sentido colocar isso, uma vez que deve ser colocado o valor (real, não string), isto é, o index do sprite que você quer.
imagem[0], imagem[1] e imagem[2] estão armazenando o index do sprite inicial do objeto. "string(imagem[i])" retorna uma string onde está escrito o index do sprite, ou seja, alguma coisa como: "0", "1". Colocando isso no draw_sprite, não sei o que exatamente ocorre, mas é "criado" um valor real apartir dessa string, e este provavelmente é igual ao index daquele primeiro sprite que você criou, assim, quando você deletou-o e criou outro, deu erro. (Aliás, a não ser que haja outros códigos que mudem os valores de imagem[0], imagem[1] e imagem[2] e deixem-nos diferentes, não há motivo para fazer uma array com 3 valores).

// Mouse left pressed:

sprite_index = quadro_2


Como aquele código do create está apenas no create, isso não resulta em nada.


Espero ter ajudado. Se não entendeu alguma coisa, é só perguntar.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Fabião em Dom 21 Fev 2010, 23:22

Acho que esse código que fiz deve estar errado.

Vou explicar pra estou querendo

Quero fazer 3 colunas cada uma com 3 quadros ou slots
cada quadro contém 6 imagens diferentes.

e eu estava tentando usar variavel array pra fazer isso
Tipo isso:
1 ----- 2 ----- 3

[ Twisted Evil ] [Twisted Evil ] [ Twisted Evil ]
[ alien ] [Very Happy ] [pig ]
[pig ] [ alien ] [ Very Happy ]

Ao teclar o botão todas imagens se alternavam após
após um tempinho elas paravam aleatóriamente

e c houvesse combinações de imagens resultaria em pontos
que cada imagem equivalece a um certo valor de pontos

o array checaria todas possibilidades de combinações
em vertical ou horizontal e diagonal de cada imagem entendeu?

Como vc faria isso?

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Igor KinGamer em Seg 22 Fev 2010, 15:01

Para fazer isso, você pode usar uma array bi-dimensional, armazenando o valor de cada quadro, e uma array armazenando quantos pontos dá uma fileira de cada tipo de quadro que existe.
E então, ao apertar o botão, "ativar" uma variável e um alarme para "desativá-la" e testar se há alguma fileira combinando. Enquanto essa variável for verdadeira, tem que escolher os valores aleatoriamente, o que pode ser feito com um for dentro de outro for:

for (a = 0; ...)
for (b = 0; ...)
// Transforma o valor da array bidimensional em um valor aleatório (array[a, b] = random(...))


Imagino que só falar assim não ajuda em muita coisa... então, eu fiz uma engine:

Combinações em quadro aleatório.gm6

Acho que é isso que você quer, não?

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Fabião em Seg 22 Fev 2010, 19:01

Acho que é isso que você quer, não?

Sim é isto que quero sim!
muito boa sua engine Parabéns! Igor

Bom o que eu quero é o seguinte é necessário ter duas sprites
diferentes.

1º sprite = com 6 imagens - P/ Sorteio aleatório das figuras


2º sprite = com 12 imagens - p/ Animação simulando que fosse um carretel (Girando as figuras para baixo)


Na Sua Engine tentei fazer isso mas deu alguns bugs?

usando a variavel escolhendo e argument0 para definir no draw o sprite.

Tipo se a var escolhendo for true desenha a sprite de animação se for contrária desenha a sprite com as figuras sortidas.

if (escolhendo = true)
argument0:= spr_Quadros_girando
else
argument0 := spr_Quadros

draw_sprite(argument0, quadro[a, b], x+32*a, y+32*b);


Bom erro acontece no step:


if (escolhendo && alarm[0] mod 2 == 0) // Se está escolhendo e alarm[0] = múltiplo de 2 (para ir mais devagar, só mudar de 2 em 2 steps)
for (a = 0; a <= 2; a += 1)
for (b = 0; b <= 2; b += 1)
{
// Escolhe aleatoriamente um novo valor (obrigatoriamente diferente do que estava antes)//
atual = quadro[a, b];
//erro >>> do quadro[a, b] = floor(random(6));
until (quadro[a, b] != atual)
}


Não está errado o seu código, mas na hora da animação
ele fica randomizando apenas 6 imagens da sprite
só que a sprite da animação tem 12 subimagens e também teria que ser sequencial
a imagens e não aleatórias, só vai ser aleatória na hora que retorna-se a 1º sprite
com 6 subimagens sortidas, quando a var escolhendo fosse false.

Entendeu?

Bom pra você entender melhor de uma olhada nesse tópico:

http://www.gamemakerbrasil.com/galeria-de-projetos-f5/maquina-halloween-previa-editado-com-beta-down-t481.htm?highlight=halloween

baixe o demo!
Bom esse é um projeto de slot machine que iniciei em 2008
usa o sistema que falei de duas sprites.

Diferentemente do modo que você fez!
Havie muitos bugs no projeto
tipo as vezes não reconhecia algumas combinações
Criei uns 30 scripts para os resultados entre outas funções, mas acabei desistindo
O sistema de random é totalmente de diferente do que você fez
Tinha muitos scripts para checagem de premiações muitas possibilidades

os códigos que criei eram muitos enormes
parecia mais um código fonte de tanta coisa escrita.

Eu estava tentando criar um método mais simplificado!
Gostei muito do Seu!

Valeu Abraços!!!

Fabião

Ranking : Nota B
Número de Mensagens : 247
Idade : 29
Data de inscrição : 06/07/2008
Notas recebidas : B
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Igor KinGamer em Qua 24 Fev 2010, 16:09

Desculpe a demora para responder, antes de ontem mudei a engine e ia postar ontem, mas meu PC foi desmontado para limparmos por dentro...

Eu mexi nos códigos e, agora, aparece a imagem como se estivesse girando.

Se você achar que está bom assim, tudo bem, mas fica estranho fazer combinações em colunas, aparecendo mais de um quadro do mesmo tipo numa mesma coluna sendo que gira verticalmente...
Dá para mudar para só haver combinações nas diagonais e linhas, e as colunas sempre aparecerem na mesma ordem em que os quadros giram... Se você quiser, é só avisar.

Engine: Combinações em quadro aleatório 2.gm6

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: problemas com sprites em variaveis array

Mensagem por Conteúdo patrocinado Hoje à(s) 14:33


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