Entrar
Ú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
duvida sobre array
3 participantes
Página 1 de 1
duvida sobre array
Olá, eu fiz este script e gostaria de uma ajuda...
eu gostaria de saber como que eu faço para deletar as instancias de variáveis quando eu clico com o botão esquerdo do mouse na posição correspondente a ela.
tipo ins esta no 9
eu quero deletar uma instancia quando eu clico no box que eu não sei o ins dele porem eu sei a posição xx e yy
por que eu devo criar deste modo???
pois vou dividir em layers infinitas o que seria mais difícil de outra maneira.
des de já obrigado
eu gostaria de saber como que eu faço para deletar as instancias de variáveis quando eu clico com o botão esquerdo do mouse na posição correspondente a ela.
tipo ins esta no 9
eu quero deletar uma instancia quando eu clico no box que eu não sei o ins dele porem eu sei a posição xx e yy
- Código:
//create
xx[0]=0
yy[0]=0
ins=0
//step
if mouse_check_button(mb_left)
{
ins+=1
xx[ins]=scr_warp(mouse_x-16,32)
yy[ins]=scr_warp(mouse_y-16,32)
}
//draw
dins=1
repeat(ins)
{
draw_rectangle(xx[dins],yy[dins],xx[dins]+32,yy[dins]+32,0)
dins+=1
}
//scr_warp por "Kabeção" editado por min
return round( argument0 / argument1 )*argument1
por que eu devo criar deste modo???
pois vou dividir em layers infinitas o que seria mais difícil de outra maneira.
des de já obrigado
Última edição por destrutor em Sex 10 Jan 2014, 12:01, editado 3 vez(es)
destrutor- Data de inscrição : 09/01/2014
Reputação : 0
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: duvida sobre array
Se código tem falhas. "ins" vai sempre ser "1", se você colocar ele no evento do clique.
Mas pra corrigir, tenho que entender direito o que você quer. Não é piada: você pode desenhar pra eu entender?
Mas pra corrigir, tenho que entender direito o que você quer. Não é piada: você pode desenhar pra eu entender?
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: duvida sobre array
com este codigo posso desenhar na tela com o mouse eu queria poder apagar com o botão esquerdo.mas não há falhas no codigosaim escreveu:Se código tem falhas. "ins" vai sempre ser "1", se você colocar ele no evento do clique.
Mas pra corrigir, tenho que entender direito o que você quer.
destrutor- Data de inscrição : 09/01/2014
Reputação : 0
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: duvida sobre array
EU DEMOREI QUE SÓ PRA ENTENDER SUA PERGUNTA.
Você tem um array com o x e o y. Nessa posição você fez algo ou seja, vai pra um numerico.
Tipo
xx[0]=64;yy[0]=32;
xx[1]=0;yy[1]=48;
xx[2]=128;yy[2]=160;
Por exemplo você tem 128 e 160 e quer saber o id do array, que no caso deveria ser 2;
Pra fazer isso você pode fazer assim:
Você tem um array com o x e o y. Nessa posição você fez algo ou seja, vai pra um numerico.
Tipo
xx[0]=64;yy[0]=32;
xx[1]=0;yy[1]=48;
xx[2]=128;yy[2]=160;
Por exemplo você tem 128 e 160 e quer saber o id do array, que no caso deveria ser 2;
Pra fazer isso você pode fazer assim:
- Código:
/* Argument0 = x; Argument1=y;
A função retorna o valor do array, se não encontrar retorna -1;
*/
var i;//i é um contador
var ret;
ret=-1;
for(i=0;i < ins;i+=1){
if (xx[i]==argument0 && yy==argument1){
ret=i;
break;
}
}
return ret;
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: duvida sobre array
Ah, saquei... Eu não tinha lido os comentários, então não vi que eram vários eventos.
O truque do Rodrigo Santiago é bom, mas a idéia de usar arrays tem um problema... você não pode apagar um índice de uma array.
Aí, o que acontece?
Primeiro: se você clicar duas vezes no mesmo ponto, o programa vai desenhar duas vezes naquele ponto.
Segundo: quando for deletar, mesmo que só tenha um "ins" naquela posição, a posição vai ficar em branco (a menos que você faça o mesmo truque que estou pensando em usar pra ds_lists... é, pode ser uma boa...)
Terceiro: sendo reutilizada qualquer posição, ela não pode mais ser apagada, porque o código vai procurar a PRIMEIRA "ins" e abortar a ação. Como você só parou de desenhar aquela "ins", sem eliminá-la, lascou.
Mas espere, tem um jeito. O código do Rodrigo Santiago te mostra como saber o valor da "ins", não mostra como eliminá-la. Bolei um jeito aqui. Vou chamar o código acima de "scr_rodrigo_santiago", porque vou usar ele.
O truque do Rodrigo Santiago é bom, mas a idéia de usar arrays tem um problema... você não pode apagar um índice de uma array.
Aí, o que acontece?
Primeiro: se você clicar duas vezes no mesmo ponto, o programa vai desenhar duas vezes naquele ponto.
Segundo: quando for deletar, mesmo que só tenha um "ins" naquela posição, a posição vai ficar em branco (a menos que você faça o mesmo truque que estou pensando em usar pra ds_lists... é, pode ser uma boa...)
Terceiro: sendo reutilizada qualquer posição, ela não pode mais ser apagada, porque o código vai procurar a PRIMEIRA "ins" e abortar a ação. Como você só parou de desenhar aquela "ins", sem eliminá-la, lascou.
Mas espere, tem um jeito. O código do Rodrigo Santiago te mostra como saber o valor da "ins", não mostra como eliminá-la. Bolei um jeito aqui. Vou chamar o código acima de "scr_rodrigo_santiago", porque vou usar ele.
- Código:
var x_elim, y_elim, eliminado, i;
// primeiro, descobre a posição a ser considerada
x_elim := scr_warp(mouse_x-16,32)
y_elim := scr_warp(mouse_y-16,32)
// depois, descobre qual "ins" corresponde à posição
eliminado := scr_rodrigo_santiago(x_elim, y_elim);
// agora começa. atrasa em uma posição TODOS os "ins" posteriores ao eliminado
for (i := eliminado; i < ins; i += 1){
xx[i] := xx[i + 1];
yy[i] := yy[i + 1];
}
// por fim, diminui o tanto da array que vai ser desenhado no draw:
ins -= 1;
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|