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
[Atualizado] Menu rotatório
5 participantes
GMBR :: Projetos :: Idéias e Enredos
Página 1 de 1
[Atualizado] Menu rotatório
Olá pessoal!
Estou criando um menu rotatório que pelo jeito precisa de uma boa avaliação, pois perdi 7 horas para que o mesmo ficasse pronto (até o momento).
O que esse menu tem de bom???
--> Efeitos sonoros ao girá-lo e na animação do mesmo.
--> Tem capacidade para apenas 6 itens (triângulos).
--> Itens tem seus próprios ícones representando suas funções
--> Tem uma engine minha que exibe mensagens na parte de baixo da tela
--> Resolução baixa (640x480 [padrão])
--> Acho que só...
[EDIT]
--> Pede o nome do jogador
--> O menu fica fechado quando ele está em segundo plano (no jogo e não no Windows!)
--> Adicionei uma engine minha que pede o nome do jogador
--> Fundo trocado para a cor preta
--> Invertida a posição no menu fechar que antes o "X" ficava em baixo
Controles:
-->Para move-lo use as setas [<] e [>]
-->Para Selecionar uma opção use [Enter]
Aí vão 4 imagens "novas" dele:
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
Download(1.55 MB)
Espero que gostem dessa minha ideia...
Estou criando um menu rotatório que pelo jeito precisa de uma boa avaliação, pois perdi 7 horas para que o mesmo ficasse pronto (até o momento).
O que esse menu tem de bom???
--> Efeitos sonoros ao girá-lo e na animação do mesmo.
--> Tem capacidade para apenas 6 itens (triângulos).
--> Itens tem seus próprios ícones representando suas funções
--> Tem uma engine minha que exibe mensagens na parte de baixo da tela
--> Resolução baixa (640x480 [padrão])
--> Acho que só...
[EDIT]
--> Pede o nome do jogador
--> O menu fica fechado quando ele está em segundo plano (no jogo e não no Windows!)
--> Adicionei uma engine minha que pede o nome do jogador
--> Fundo trocado para a cor preta
--> Invertida a posição no menu fechar que antes o "X" ficava em baixo
Controles:
-->Para move-lo use as setas [<] e [>]
-->Para Selecionar uma opção use [Enter]
Aí vão 4 imagens "novas" dele:
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
Download(1.55 MB)
Espero que gostem dessa minha ideia...
Última edição por PHProductions em Seg 10 Jun 2013, 18:30, editado 1 vez(es) (Motivo da edição : modificações no menu)
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: [Atualizado] Menu rotatório
Eu dei uma olhada no seu menu rotatório,e gostei (e gosto ) bastante do seu trabalho que é sempre evolutivo, quanto ao seu menu, fiz alguns testes e funcionou bem até onde eu vi, o efeito gradiente está legal , só não posso opinar muito porque não sei que jogo você pretende fazer usando ele, mas a ideia é boa sim, só cuide as cores para ver se elas combinarão com seu jogo, a unica sugestão que eu te dou é no menu de sair do jogo que você colocou invertido, ele deveria vir com a função não (X) na parte de cima por que essa é uma função que quem joga usará uma vez só, e evita de sair do jogo por engano, foi a unica coisa que eu vi que da para melhorar, fora isso as outras funções funcionam bem, boa sorte com seu jogo. pretende fazer outro jogo de tanques ninjas, se for, poderia ter umas Pizzas para carregar a vida né xD.
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: [Atualizado] Menu rotatório
wal que sistema incrivel vc pode por uma GMK eu lhe dou mil creditos com letras grandes!se eu fizer um jogo com ela!
LightSpeedy- Games Ranking :
Notas recebidas : C
Data de inscrição : 24/04/2013
Reputação : 40
Número de Mensagens : 354
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Atualizado] Menu rotatório
Bota o download do GMK, ficou muito bom cara
Supersonic822- Data de inscrição : 12/03/2013
Reputação : 5
Número de Mensagens : 19
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Atualizado] Menu rotatório
Ainda estou adicionando comandos a ele, é só para testes por enquanto...
Valeu a quem testou e aprovou o mesmo.
Valeu a quem testou e aprovou o mesmo.
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: [Atualizado] Menu rotatório
Muito bom!
Sugiro permitir rodar por completo. Ele parece estar limitado entre as opções 0-n. Se você usar (opção+1) mod nOpções, isso se resolve. Pra não girar pro lado errado, você pode usar a seta que foi pressionada.
Não consegui imaginar porque o limite é de 6 opções. Geometria?
Sugiro permitir rodar por completo. Ele parece estar limitado entre as opções 0-n. Se você usar (opção+1) mod nOpções, isso se resolve. Pra não girar pro lado errado, você pode usar a seta que foi pressionada.
Não consegui imaginar porque o limite é de 6 opções. Geometria?
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: [Atualizado] Menu rotatório
Não, é por causa da programação mesmo...saim escreveu:Não consegui imaginar porque o limite é de 6 opções. Geometria?
Para se ter uma ideia de quantas linhas de código esse menu usa, vou postar abaixo quantas linhas cada evento dele tem:
[Create] 65 linhas
[Step A] 124 linhas
[Step B] 112 linhas
[Draw] 38 linhas
Ou seja: [339] linhas no total em apenas um objeto.
Por isso as 7 horas para montá-lo por completo, e ainda acho que terá mais linhas por vir.
Bom, o importante é que eu estou aprendendo mais e mais a programar no Game Maker.
Valeu pelo comentário!
[EDIT]
O menu Foi atualizado e seguindo uma sugestão do usuário "JoaoVanBlizzard":
Valeu JoaoVanBlizzard, foi muito útil.JoaoVanBlizzard escreveu:...a unica sugestão que eu te dou é no menu de sair do jogo que você colocou invertido, ele deveria vir com a função não (X) na parte de cima por que essa é uma função que quem joga usará uma vez só, e evita de sair do jogo por engano, foi a unica coisa que eu vi que da para melhorar...
Última edição por PHProductions em Seg 10 Jun 2013, 18:37, editado 1 vez(es) (Motivo da edição : agradecer um usuário...)
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: [Atualizado] Menu rotatório
PHProductions escreveu:[339] linhas no total em apenas um objeto.saim escreveu:Não consegui imaginar porque o limite é de 6 opções. Geometria?
Por isso as 7 horas para montá-lo por completo, e ainda acho que terá mais linhas por vir.
Acho que está na hora de rever sua forma de programar. Realmente me parece um número muito grande de linhas pra uma tarefa relativamente simples. Não estou menosprezando seu menu, ele é muito bacana, mas é um efeito que dá pra conseguir com menos esforço, se você souber indexar itens. Veja meu objeto-roleta, que faz mais ou menos a mesma coisa (embora com menos efeitos legais e um controle diferente). Ele está na minha engine de controles adaptados pra touch, então é open-source. Usei 151 linhas, com direito a comentários e cabeçalhos do "object info":
- Spoiler:
- Information about object: objRoletaSprite: sprRoleta
Solid: false
Visible: true
Depth: -3
Persistent: false
Parent:
Mask:
Create Event:
execute code:
image_angle = 0; //ângulo da imagem
angSpd = 0; // velocidade angular
angRef = 0; //ângulo de referência pra giro
roll = false;
drag = false;
decay = 0.5; //taxa de decaimento de velocidade angular
angRes = -45; //ângulo do resultado
valor = 0;
valorAnterior = valor;
nValores = 4;
angValor = 360 / nValores;
var i;
for(i = 0; i < nValores; i += 1){
angC[i] = (i + 0.5) * angValor + angRes;
}
image_angle = angC[0];
scale = 1; //escala em x e em y
scaMax = 1.2; //escala máxima
scaDelta = scaMax - 1; // diferença entre a máxima e a mínima
scaRef = 0; //efetivamente calculado ao largar o mouse, o quanto a escala deve diminuir
scaDecay = 0.05; // decaimento mínimo da escala (exceto quando solto já no ponto)
event_perform(ev_other, ev_user0);
Step Event:
execute code:
if (roll == true){ //se está rodando
var parou;
parou = false; // se parou NESSE step
if (drag == true) { //se está sendo controlado pelo jogador
var newAng;
newAng = point_direction(x, y, mouse_x, mouse_y); //direção atual do mouse
angSpd = ((((newAng - angRef) mod 360) + 540) mod 360) - 180; //diferença entre atual e anterior
image_angle += angSpd; //acompanha a diferença
angRef = newAng; //atualiza a referência
}
else { //se o jogador soltou, mas ainda está rolando
image_angle = (image_angle + angSpd + 360) mod 360; //mantém o giro e mantém entre 0 e 360
// fricção angular
if (angSpd > 0){
angSpd = max(angSpd - decay, 0);
}
if (angSpd < 0){
angSpd = min(angSpd + decay, 0);
}
if (scaRef != 0){ //se tem velocidade pra ser proporcional
scale = 1 + angSpd / scaRef * scaDelta;
}
else{
scale = max(1, scale - scaDecay);
}
if (abs(angSpd) <= decay){ //se a velocidade caiu demais, vai lentamente pra uma posição padrão
parou = true;
var newAng;
newAng = sign(((((angC[valor] - image_angle) mod 360) + 540) mod 360) - 180); //lado pra rodar
image_angle += newAng * decay; //velocidade pra rodar
if (abs(((((image_angle - angC[valor]) mod 360) + 540) mod 360) - 180) <= decay){ //se chegou na posição
roll = false; //para de rodar
scale = 1;
}
}
image_xscale = scale; image_yscale = scale;
}
valor = ((image_angle - angRes) div angValor) mod nValores; //se está rodando, o valor tem que ser atualizado
if (parou && valorAnterior != valor){
valorAnterior = valor;
event_perform(ev_other, ev_user0);
}
}
Mouse Event for Left Pressed:
execute code:
drag = true; //arrastando
roll = true; //rolando
angRef = point_direction(x, y, mouse_x, mouse_y); //referência pro próximo step
scale = scaMax; //escala em x e y
image_xscale = scale; image_yscale = scale;
Mouse Event for Glob Left Released:
execute code:
if (drag == true){
drag = false; //para de arrastar
scaRef = angSpd; //referência pra escala, proporcional ao giro
}
Other Event: User Defined 0:
execute code:
with(objControleParent){
instance_destroy();
}
controle[0] = 0;
controle[1] = 0;
switch(valor){
case 0: {
instance_create(0, 0, objControleJoy);
}; break
case 1: {
instance_create(0, 0, objControleBotoes);
}; break
case 2: {
instance_create(0, 0, objAcelerometro);
}; break
case 3: {
instance_create(0, 0, objControleBot3P);
}; break
}
Draw Event:
execute code:
// draw_line_color(x, y, x + lengthdir_x(110, angRes), y + lengthdir_y(110, angRes), $ff0000, $ff0000);
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
/*
debug
var i; i = 20;
draw_text(20, i, "angRef: " + string(angRef)); i += 20;
draw_text(20, i, "image_angle: " + string(image_angle)); i += 20;
draw_text(20, i, "angSpd: " + string(angSpd)); i += 20;
draw_text(20, i, "resultado: " + string(valor + 1)); i += 20;
draw_text(20, i, "angC: " + string(angC[valor])); i += 20;
draw_text(20, i, "roll: " + string(roll)); i += 20;*/
Claro que não é a mesma coisa. Não pretendo comparar os dois objetos, apenas mostrar uma forma diferente de programar, mais genérica.
Agora... quanto às horas de trabalho, a coisa varia. Nessa roleta, eu devo ter gasto menos tempo. Umas 3 a 4 horas, + o tempo de fazer a sprite (eu demoro muito pra desenhar, mesmo coisas simples). Mas pra aprender a programar assim, usando mod, geometria, prevendo problemas... devo ter gasto uns 2 dias. De trabalho. Sem contar as horas de sono, horas sem estudar, horas fazendo outras coisas. Foram 2 dias espalhados ao longo de, digamos, um ano.
Eu ainda faço um tutorial a respeito de indexação... tudo que tem id pode ser indexado e jogado em arrays. Tudo. Objetos, instâncias, paths, sons, timelines, constantes, eventos.
E até scripts.
Porque eu deixei uma linha separada pra citar scripts? O que acontece no seu menu quando você aperta "enter"?
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: [Atualizado] Menu rotatório
Saim, cara! Se eu tivesse uma noção de como se usar arrays, até valeria seu comentário menosprezando o meu menu, mas eu não sei usar esse tipo de programação no GM, sempre que eu tento dá erros fatais, o que me fez desistir definitivamente de usar arrays em meus jogos. Quanto ao tempo, ele foi feito em apenas 7 horas. Menos de um dia.
Se você pudesse me ensinar a usar arrays, pois eu não tenho nem noção de como se usa isso.
Bom, obrigado por ter comentado e esqueci de avisar ao pessoal que o menu está desatualizado e que vou postar uma atualização hoje a noite.
Se você pudesse me ensinar a usar arrays, pois eu não tenho nem noção de como se usa isso.
Bom, obrigado por ter comentado e esqueci de avisar ao pessoal que o menu está desatualizado e que vou postar uma atualização hoje a noite.
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: [Atualizado] Menu rotatório
Velho, não foi minha intenção menosprezar seu menu... mais uma vez, ele está muito bacana! É o seu jeito de programar que pode melhorar. Não tem nada de errado, só pode melhorar.
Existe um tutorial a respeito de arrays na minha assinatura. Talvez os links dele estejam desatualizados, mas o tutorial deveria ser suficiente, por si só.
Arrays definitivamente facilitam a programação.
Arrays não são mais do que conjuntos de variáveis. Deixa eu fazer uma analogia, aqui... pense num armário horizontal, com quantas portas você quiser. Ele é modulado, então você pode colocar mais e mais portas. A princípio, a quantidade de portas que você pode colocar é infinita, você só precisa colocar uma plaquinha com um número em cada porta. Na primeira porta, o número "0", na segunda, o número "1", e assim por diante.
porta[0]; porta[1]; e assim por diante.
Em cada porta, você coloca um papel com algo escrito. Um valor. Se te parece um desperdício de armário, pense em armários pequenininhos. Ou papéis grandes.
Pratique arrays. Em pouco tempo você vai se perguntar como era possível programar sem elas.
Existe um tutorial a respeito de arrays na minha assinatura. Talvez os links dele estejam desatualizados, mas o tutorial deveria ser suficiente, por si só.
Arrays definitivamente facilitam a programação.
Arrays não são mais do que conjuntos de variáveis. Deixa eu fazer uma analogia, aqui... pense num armário horizontal, com quantas portas você quiser. Ele é modulado, então você pode colocar mais e mais portas. A princípio, a quantidade de portas que você pode colocar é infinita, você só precisa colocar uma plaquinha com um número em cada porta. Na primeira porta, o número "0", na segunda, o número "1", e assim por diante.
porta[0]; porta[1]; e assim por diante.
Em cada porta, você coloca um papel com algo escrito. Um valor. Se te parece um desperdício de armário, pense em armários pequenininhos. Ou papéis grandes.
- Código:
porta[0] := 12;
porta[1] := obj_player;
porta[2] := script_sair_do_jogo;
porta[3] := "essa array não serve pra nada";
- Código:
draw_text(x, y, porta[3]);
- Código:
texto := "essa array não serve pra nada";
draw_text(x, y, texto);
- Código:
texto[0] := "primeiro texto";
texto[1] := "segundo";
texto[2] := "tá ficando chato";
texto[3] := "já deu";
for (i := 0; i < 4; i += 1){
draw_text(x, y + 20 * i, texto[i]);
}
Pratique arrays. Em pouco tempo você vai se perguntar como era possível programar sem elas.
Última edição por saim em Seg 17 Jun 2013, 14:59, 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: [Atualizado] Menu rotatório
Valeu, vou ver se consigo programar alguma coisa com a sua explicação...
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Tópicos semelhantes
» [Tutorial]Menu rotatório.
» [atualizado] Meu novo menu
» [Resolvido]Mine game Tartaruga Verde em Game Maker pro
» [RESOLVIDO]Bug reverso
» APP Cartas Mágicas [ANDROID]
» [atualizado] Meu novo menu
» [Resolvido]Mine game Tartaruga Verde em Game Maker pro
» [RESOLVIDO]Bug reverso
» APP Cartas Mágicas [ANDROID]
GMBR :: Projetos :: Idéias e Enredos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|