Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
2 duvidas
3 participantes
Página 1 de 1
2 duvidas
Olá , pra não fazer 2 posts diferentes , eu vou fazer as minhas duas perguntas nesse aqui.
1. A primeira, Como fazer para que quando um objeto estiver no mesmo quadrado do GRID que o outro, oque tem menor Depth ser destruido
2. A segunda duvida, e um pouco mais complexa, uma vez perguntei como se fazia mundo infinito, e teve muitas respostas, O pedro disse que poderia desativar os objetos fora da view, e ativar dentro, e outro usuário disse que eu poderia usar um script para cada "pedaço" do mundo.
é isso que eu queria saber como se faz, para ter um mundo PARCIALMENTE aleatório, mas que não ficasse uma coisa totalmente desordenada. eu queria saber como eu faço um codigo, que gerasse automaticamente uma região de blocos, entao eu criaria uns 5 desses scripts que gerasse um mundo diferente.
eu sei... esta segunda duvida e um pouco complicada, mas por favor se souber responder pelo menos a primeira , esta de bom tamanho.
obrigado a todos
1. A primeira, Como fazer para que quando um objeto estiver no mesmo quadrado do GRID que o outro, oque tem menor Depth ser destruido
2. A segunda duvida, e um pouco mais complexa, uma vez perguntei como se fazia mundo infinito, e teve muitas respostas, O pedro disse que poderia desativar os objetos fora da view, e ativar dentro, e outro usuário disse que eu poderia usar um script para cada "pedaço" do mundo.
é isso que eu queria saber como se faz, para ter um mundo PARCIALMENTE aleatório, mas que não ficasse uma coisa totalmente desordenada. eu queria saber como eu faço um codigo, que gerasse automaticamente uma região de blocos, entao eu criaria uns 5 desses scripts que gerasse um mundo diferente.
eu sei... esta segunda duvida e um pouco complicada, mas por favor se souber responder pelo menos a primeira , esta de bom tamanho.
obrigado a todos
Re: 2 duvidas
Na primeira pergunta, use este código no Step:
Na segunda pergunta, estou tentando fazer algo aqui, se der certo, te dou um toque. (provavelmente isso não irá acontecer)
Até mais!
- Código:
while(instance_place(x,y,objeto_em_baixo)!=noone) {
if instance_place(x,y,objeto_em_baixo).depth<depth {with(i) {instance_destroy()}}
}
Na segunda pergunta, estou tentando fazer algo aqui, se der certo, te dou um toque. (provavelmente isso não irá acontecer)
Até mais!
Re: 2 duvidas
luiz_eldorado escreveu:Na primeira pergunta, use este código no Step:Não testei, mas deve dar certo. Repita este código várias vezes com cada objeto à ser deletado (ou coloque all, para todos os objetos).
- Código:
while(instance_place(x,y,objeto_em_baixo)!=noone) {
if instance_place(x,y,objeto_em_baixo).depth<depth {with(i) {instance_destroy()}}
}
Na segunda pergunta, estou tentando fazer algo aqui, se der certo, te dou um toque. (provavelmente isso não irá acontecer)
Até mais!
cara valeu me ajudou d+ .
Re: 2 duvidas
Essa do mundo ser PARCIALMENTE aleatório é mais complicada mesmo. Eu posso te dar uma direção, mas pra criar o mundo de fato, o código tem que ser seu.
É o seguinte, você quer uma região no seu mundo em que há uma determinada probabilidade de surgir esse ou aquele item. Suponde que sejam apenas os itens A e B e você quer que eles se espalhem mais ou menos por igual. O Geferson perguntou algo parecido aqui. Repetindo o código de lá, você poderia faser o seguinte:
Agora, suponha que você tenha 5 objetos, A, B, C, D e E. E a probabilidade de criar cada objeto seja: A: 50%, B: 10%, C: 10%, D: 25%, E: 5%. Uma forma de fazer isso seria
Da dificuldade escolhida pelo jogador (um jogo fácil teria muitos itens de bônus enquanto um jogo difícil teria muitos itens danosos)?
Da distância até o ponto de início do jogo (quanto mais longe, menor a probabilidade de encontrar esse ou aquele item)?
Da direção (ir pra direita garante riqueza de itens A enquanto ir pra esquerda garante riqueza de itens B)?
Enfim, cabe a você moldar que tipo de probabilidades irão determinar a formação do seu terreno.
O código acima é só uma forma de obedecer às probabilidades que você calculou (basta substituir os valores numéricos pelos resultados de suas equações). Dependendo do que você quer, existem formas mais interessantes de se chegar no mesmo resultado.
Espero que tenha ajudado alguma coisa. Caso contrário, estamos aí.
É o seguinte, você quer uma região no seu mundo em que há uma determinada probabilidade de surgir esse ou aquele item. Suponde que sejam apenas os itens A e B e você quer que eles se espalhem mais ou menos por igual. O Geferson perguntou algo parecido aqui. Repetindo o código de lá, você poderia faser o seguinte:
- Código:
var i, sorteio, indiceSorteado;
i = 0;
sorteio[i] = A; i += 1;
sorteio[i] = B;
indiceSorteado = irandom(i);
instance_create(x, y, sorteio[indiceSorteado]);
Agora, suponha que você tenha 5 objetos, A, B, C, D e E. E a probabilidade de criar cada objeto seja: A: 50%, B: 10%, C: 10%, D: 25%, E: 5%. Uma forma de fazer isso seria
- Código:
var i, sorteio, probabilidade, sorteado;
i = 0;
sorteado[i] = A; probabilidade[i] = 50; i += 1; //A, 50%
sorteado[i] = B; probabilidade[i] = probabilidade[i - 1] + 10; i += 1; //B, 60%
sorteado[i] = C; probabilidade[i] = probabilidade[i - 1] + 10; i += 1; //C, 70%
sorteado[i] = D; probabilidade[i] = probabilidade[i - 1] + 25; i += 1; //D, 95%
sorteado[i] = E; probabilidade[i] = probabilidade[i - 1] + 5; i += 1; //E, 100% - note que continuei somando 1 a "i"
nElementos = i;
sorteio = random(100);
//vai aumentando o valor de i de zero ao valor sorteado
for(i = 0; i < nElementos; i += 1){ //foi por causa desse loop (usando "<" e não "<=") que somei o último "i"
if (sorteio < probabilidade[i]) { break; } //quando "i" chegar no valor correto, quebra o loop
}
return(sorteado[i]);
Da dificuldade escolhida pelo jogador (um jogo fácil teria muitos itens de bônus enquanto um jogo difícil teria muitos itens danosos)?
Da distância até o ponto de início do jogo (quanto mais longe, menor a probabilidade de encontrar esse ou aquele item)?
Da direção (ir pra direita garante riqueza de itens A enquanto ir pra esquerda garante riqueza de itens B)?
Enfim, cabe a você moldar que tipo de probabilidades irão determinar a formação do seu terreno.
O código acima é só uma forma de obedecer às probabilidades que você calculou (basta substituir os valores numéricos pelos resultados de suas equações). Dependendo do que você quer, existem formas mais interessantes de se chegar no mesmo resultado.
Espero que tenha ajudado alguma coisa. Caso contrário, estamos aí.
Última edição por saim em Qui 31 maio 2012, 14:31, editado 1 vez(es)
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: 2 duvidas
saim escreveu:Essa do mundo ser PARCIALMENTE aleatório é mais complicada mesmo. Eu posso te dar uma direção, mas pra criar o mundo de fato, o código tem que ser seu.
É o seguinte, você quer uma região no seu mundo em que há uma determinada probabilidade de surgir esse ou aquele item. Suponde que sejam apenas os itens A e B e você quer que eles se espalhem mais ou menos por igual. O Geferson perguntou algo parecido aqui. Repetindo o código de lá, você poderia faser o seguinte:Isso serve pra probabilidades IGUAIS de criar cada objeto.
- Código:
var i, sorteio, indiceSorteado;
i = 0;
sorteio[i] = A; i += 1;
sorteio[i] = B;
indiceSorteado = irandom(i);
instance_create(x, y, sorteio[indiceSorteado]);
Agora, suponha que você tenha 4 abjetos, A, B, C, D e E. E a probabilidade de criar cada objeto seja: A: 50%, B: 10%, C: 10%, D: 25%, E: 5%. Uma forma de fazer isso seriaAté aqui, acho que está tudo indo tranquilo, certo? Quer dizer, o código acima tem muitas linhas, mas não é complicado de se entender. Daqui pra frente vem a parte difícil - e a que eu não posso te ajudar. Definir a probabilidade de criar cada objeto em função de... o que?
- Código:
var i, sorteio, probabilidade, sorteado;
i = 0;
sorteado[i] = A; probabilidade[i] = 50; i += 1; //A, 50%
sorteado[i] = B; probabilidade[i] = probabilidade[i - 1] + 10; i += 1; //B, 60%
sorteado[i] = C; probabilidade[i] = probabilidade[i - 1] + 10; i += 1; //C, 70%
sorteado[i] = D; probabilidade[i] = probabilidade[i - 1] + 25; i += 1; //D, 95%
sorteado[i] = E; probabilidade[i] = probabilidade[i - 1] + 5; i += 1; //E, 100% - note que continuei somando 1 a "i"
nElementos = i;
sorteio = random(100);
//vai aumentando o valor de i de zero ao valor sorteado
for(i = 0; i < nElementos; i += 1){ //foi por causa desse loop (usando "<" e não "<=") que somei o último "i"
if (sorteio < probabilidade[i]) { break; } //quando "i" chegar no valor correto, quebra o loop
}
return(sorteado[i]);
Da dificuldade escolhida pelo jogador (um jogo fácil teria muitos itens de bônus enquanto um jogo difícil teria muitos itens danosos)?
Da distância até o ponto de início do jogo (quanto mais longe, menor a probabilidade de encontrar esse ou aquele item)?
Da direção (ir pra direita garante riqueza de itens A enquanto ir pra esquerda garante riqueza de itens B)?
Enfim, cabe a você moldar que tipo de probabilidades irão determinar a formação do seu terreno.
O código acima é só uma forma de obedecer às probabilidades que você calculou (basta substituir os valores numéricos pelos resultados de suas equações). Dependendo do que você quer, existem formas mais interessantes de se chegar no mesmo resultado.
Espero que tenha ajudado alguma coisa. Caso contrário, estamos aí.
deu certo , ja to quase conseguindo fazer aqui... valeu mesmo.!
Tópicos semelhantes
» [Duvidas]Algumas duvidas que estou querendo respostas
» [Duvidas] RPG
» 2 dúvidas...
» 3 duvidas ?????
» Duvidas
» [Duvidas] RPG
» 2 dúvidas...
» 3 duvidas ?????
» Duvidas
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos