Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor pequetux Hoje à(s) 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» 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
[Resolvido] Problema com montes de "Ifs"
4 participantes
Página 1 de 1
[Resolvido] Problema com montes de "Ifs"
Estou criando pequenos projetos para, aos poucos, começar em GML. Começando pela movimentação, existem 2 pequenas ações que ando criando (esquerda e direita). Meu código:
Vejam que utilizei 2 Ifs... mas eu acho que isso foi meio que uma "gambiarra". Pois bem, eu quero usar essas 2 ações em um IF só. Além de economizar espaço, seria melhor e mais organizado. (pelo menos eu acharia)
"Não entendi a sua pergunta..."
Bem, vou colocar 2 códigos aqui. Consiste em, quando você apertar Enter, aparecer um efeito:
A "gambiarra" que estou falando:
A ação com apenas 1 IF:
Uma observação é que eu tentei, mas o depurador julgava o código como errado.
Bem... é possível criar essas ações usando apenas 1 IF? Se possível, mostrem com 3 ou mais ações. Isso me ajudaria muito a criar um bom código. Não precisaria mais de ficar criando IFs contínuos \o/
o/
* Se esta pergunta já foi feita por alguém, peço o Link do tópico por MP e que deletem/fechem este .-. E desculpem qualquer coisa :B
- Código:
// Objeto
effect_create_above(ef_star,self.x,self.y,1,255)
//----------------------------------------------
//
// Movimentação
if keyboard_check (vk_left) {
x -=4
}
else {
x -=0
}
////////////////////////////////////////////////
if keyboard_check (vk_right) {
x +=4
}
else {
x +=0
}
Vejam que utilizei 2 Ifs... mas eu acho que isso foi meio que uma "gambiarra". Pois bem, eu quero usar essas 2 ações em um IF só. Além de economizar espaço, seria melhor e mais organizado. (pelo menos eu acharia)
"Não entendi a sua pergunta..."
Bem, vou colocar 2 códigos aqui. Consiste em, quando você apertar Enter, aparecer um efeito:
A "gambiarra" que estou falando:
- Código:
if keyboard_check (vk_enter) {
effect_create_above(ef_star,self.x,self.y,1,255)
}
////////////////////////////////////////////////
if keyboard_check_released (vk_enter) {
//Não faz nada
}
A ação com apenas 1 IF:
- Código:
if keyboard_check (vk_enter) {
effect_create_above(ef_star,self.x,self.y,1,255)
}
else {
//Não faz nada
}
Uma observação é que eu tentei, mas o depurador julgava o código como errado.
Bem... é possível criar essas ações usando apenas 1 IF? Se possível, mostrem com 3 ou mais ações. Isso me ajudaria muito a criar um bom código. Não precisaria mais de ficar criando IFs contínuos \o/
o/
* Se esta pergunta já foi feita por alguém, peço o Link do tópico por MP e que deletem/fechem este .-. E desculpem qualquer coisa :B
Última edição por Mr.Rafael em Seg 13 Dez 2010, 16:33, editado 1 vez(es) (Motivo da edição : Tópico resolvido)
Mr.Rafael- Games Ranking :
Notas recebidas : A-C-B-A-A
Data de inscrição : 05/10/2010
Reputação : 94
Número de Mensagens : 502
Prêmios :
x 0 x 2 x 0
x 1 x 1 x 3
x 0 x 0 x 0
Re: [Resolvido] Problema com montes de "Ifs"
Não precisa colocar else em tudo.
Ao invés de:
Coloque:
Ao invés de:
- Código:
//----------------------------------------------
//
// Movimentação
if keyboard_check (vk_left) {
x -=4
}
else {
x -=0
}
////////////////////////////////////////////////
if keyboard_check (vk_right) {
x +=4
}
else {
x +=0
}
Coloque:
- Código:
if keyboard_check (vk_left) {x+=-4}
if keyboard_check (vk_right) {x+=4}
Re: [Resolvido] Problema com montes de "Ifs"
que tal usar uma variavel pra detectar se pode criar o afeito tipo:
no create:
edit:
joz. se ele fizer isso o player vai andar pra sempre...
no create:
- Código:
global.cria=false
- Código:
//caso true...
if global.cria=true{effect_create_above(efeito,x,y,1,0)}
//pode cria(ou não)...
if keyboard_check (vk_enter) {
global.cria=true
}else{global.cria=false}
edit:
joz. se ele fizer isso o player vai andar pra sempre...
donte- Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Re: [Resolvido] Problema com montes de "Ifs"
Obrigado, JOZ.. Eu uso esses "elses" porque, quando eu tentei criar a movimentação pela primeira vez, ele ficava andando de forma contínua, então passei a usá-los. Mas já não precisa... Valeu, então.
Isso resolveu o problema que tive... mas a minha curiosidade quanto a isso continua @_@. Mas obrigado, você me deu uma ótima dica para economizar espaço. (além de resolver meu problema)
E... donte, eu testei o código, é funcional. Essa de criar uma variável com true e false é interessante, mas acho que se limitaria a apenas 2 ações (quando ele é true e quando ele é false). No caso, acho que teria que colocar um valor para ele (por exemplo, 0, 1 e 2) e dizer quais ações ele teria se tivesse tais valores. Isso seria funcional? Porque se for, minha dúvida acaba aqui mesmo. Especifico tudo num código enorme para fazê-los sem muito esforço depois.
o/
Isso resolveu o problema que tive... mas a minha curiosidade quanto a isso continua @_@. Mas obrigado, você me deu uma ótima dica para economizar espaço. (além de resolver meu problema)
E... donte, eu testei o código, é funcional. Essa de criar uma variável com true e false é interessante, mas acho que se limitaria a apenas 2 ações (quando ele é true e quando ele é false). No caso, acho que teria que colocar um valor para ele (por exemplo, 0, 1 e 2) e dizer quais ações ele teria se tivesse tais valores. Isso seria funcional? Porque se for, minha dúvida acaba aqui mesmo. Especifico tudo num código enorme para fazê-los sem muito esforço depois.
o/
Mr.Rafael- Games Ranking :
Notas recebidas : A-C-B-A-A
Data de inscrição : 05/10/2010
Reputação : 94
Número de Mensagens : 502
Prêmios :
x 0 x 2 x 0
x 1 x 1 x 3
x 0 x 0 x 0
Re: [Resolvido] Problema com montes de "Ifs"
Errado, segundo o código o player so anda pra direita se estiver pressionando(segurando) right e só anda pra esquerda se estiver pressionando left. Se nao estiver pressionando nenhum dos dois, ele fica parado.donte escreveu:joz. se ele fizer isso o player vai andar pra sempre...
Mannoroth- Games Ranking :
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido] Problema com montes de "Ifs"
ahh é verdade só li a "GAMBIARRA"(não to chamando a duvida dele de gambiarra apenas o titulo que ele pois)...
e funcionaria sim mais ia ter que usar no step if global.cria>0 no key e usaria mais de 1 tipo ia ficar assim:
Create:
e funcionaria sim mais ia ter que usar no step if global.cria>0 no key e usaria mais de 1 tipo ia ficar assim:
Create:
- Código:
global.cria=100//pode criar até 100
- Código:
//caso menor que 100...
if global.cria<100{effect_create_above(efeito,x,y,1,0)}
//pode cria(ou não)...
if keyboard_check (vk_enter) {if global.cria>=0{global.cria-=1}
}else{global.cria=100}
donte- Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Re: [Resolvido] Problema com montes de "Ifs"
Então parece que é praticamente impossível criar várias funções usando um if só.
Mas ao menos isso reduz e muito os códigos que eu estava usando. O que eu estava pensando era +/- assim:
Eu teria comandos pré-definidos. Caso eu quisesse usá-los mais de uma vez, eu não teria que repetir o comando, apenas setar o valor da variável que ela se encarregaria do resto. Mesmo assim, eu ia gastar mais código com isso... e deu um total de 6 ifs.
Bem... acho que realmente vou ter que usar esses montes de ifs para criar algo. Obrigado a quem conseguiu reduzir o tamanho dos codes, era isso que eu queria fazer quando perguntei
o/
Mas ao menos isso reduz e muito os códigos que eu estava usando. O que eu estava pensando era +/- assim:
- Código:
// Opções de função
global.option = 0;
///////////////////////
// Ações pre-definidas
if global.option = 0 {effect_create_above(ef_flare,self.x,self.y,1,300)}
if global.option = 1 {x+=1}
if global.option = 2{x-=1}
///////////////////////
// Movimentação:
if keyboard_check (vk_left) {global.option = 2}
if keyboard_check (vk_right) {global.option = 1}
if keyboard_check (vk_nokey) {global.option = 0}
Eu teria comandos pré-definidos. Caso eu quisesse usá-los mais de uma vez, eu não teria que repetir o comando, apenas setar o valor da variável que ela se encarregaria do resto. Mesmo assim, eu ia gastar mais código com isso... e deu um total de 6 ifs.
Bem... acho que realmente vou ter que usar esses montes de ifs para criar algo. Obrigado a quem conseguiu reduzir o tamanho dos codes, era isso que eu queria fazer quando perguntei
•- Tópico resolvido -•
o/
Mr.Rafael- Games Ranking :
Notas recebidas : A-C-B-A-A
Data de inscrição : 05/10/2010
Reputação : 94
Número de Mensagens : 502
Prêmios :
x 0 x 2 x 0
x 1 x 1 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
|
|