Valor das variáveis não é atualizado no draw

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

Valor das variáveis não é atualizado no draw

Mensagem por vitorfernandes13 em Dom 19 Jan 2014, 08:49

Estou usando 4 variaveis, são elas lives, score, global.apple e global.bloco, e pedi para que o GM "pintasse" elas na tela, pra isso usei um objeto exclusivo para isso o "controle", só que eu declarei todas as variáveis no evento create do player, e coloquei lá no player, "se ele colidir com a bomba"..."perde uma vida" (em forma de código, claro) só que quando ele encosta na bomba ele morre, e a room reinicia, mas, quando olho na barra superior é possível ver que a vida não diminuiu, o mesmo acontece quando ele encosta nos blocos, a variavel global.bloco ñ diminui, então resolvi declarar as variáveis no create do controle e usá-las no draw do mesmo, só que o erro continua, acho que o jogo não está checando as variáveis para atualizá-las, há alguma maneira de resolver isso?

Código Create do player
Código:

//Número de vidas
lives = 4

//Pontuação
score = 0

//Maçãs
global.apple = 0

//Blocos
global.bloco = instance_number(obj_bm1)

Código da colisão do player com a bomba
Código:

lives -= 1
room_restart()

Código do draw do controle
Código:

draw_sprite(barra,0,view_xview + 0,view_yview + 0)
draw_set_color(c_white)//seta a cor do texto em branca
draw_sprite(vida,0,view_xview + 200, view_yview + 0)
draw_sprite(pontos,0,view_xview + 420, view_yview + 0)
draw_sprite(maca,0,view_xview + 700, view_yview + 0)
draw_sprite(blocos_maus,0,view_xview + 920, view_yview + 0)
draw_text(view_xview + 10, view_yview + 6, "BOO ISLAND")
draw_text(view_xview + 250, view_yview + 6, ": " + string(lives) + " " + "lives/vidas")
draw_text(view_xview + 470, view_yview + 6, ": " + string(score) + " " + "points/pontos")
draw_text(view_xview + 750, view_yview + 6, ": " + string(global.apple) + " " + "fruits/frutas")
draw_text(view_xview + 970, view_yview + 6, "Lack/Faltam: " + string(global.bloco) + " " + "blocks/blocos")

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por AlexBosquin em Dom 19 Jan 2014, 09:45

score e lives é bom que vc não use as padrões do game maker (pois esses valores são fáceis de ser hackeados por cheaters), ou seja crie a sua no event create do obj_player mas como globais, ou caso contrario tem muitos tutoriais como esse:

http://gmbr.forumeiros.com/t5166-aula-10-introducao-a-jogos-saude-do-player-e-inimigo-top-down

EDIT: não perca tempo colocando pro draw desenhar vars eu fazia isso tbm até descobrir o debbuger (seta vermelha do lado da verde la no game maker)

la vai abrir uma janela junto com seu jogo e dai vc clica em watch-> add e o nome da variável> exemplo: quero saber a velocidade do player então : obj_player.velocity
uma var global: global.nomedavarglobal

e assim vai xD

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por vitorfernandes13 em Dom 19 Jan 2014, 10:00

AlexBosquin escreveu:score e lives é bom que vc não use as padrões do game maker (pois esses valores são fáceis de ser hackeados por cheaters), ou seja crie a sua no event create do obj_player mas como globais, ou caso contrario tem muitos tutoriais como esse:

http://gmbr.forumeiros.com/t5166-aula-10-introducao-a-jogos-saude-do-player-e-inimigo-top-down

EDIT: não perca tempo colocando pro draw desenhar vars eu fazia isso tbm até descobrir o debbuger (seta vermelha do lado da verde la no game maker)

la vai abrir uma janela junto com seu jogo e dai vc clica em watch-> add e o nome da variável> exemplo: quero saber a velocidade do player então : obj_player.velocity
uma var global: global.nomedavarglobal

e assim vai xD

Acho que esse debbuger não é o que eu preciso, eu quero exibir para o usuário informações como vida, maças, blocos etc, por isso eu criei a barra, e valeu pela dica das variaveis de vida e score Smile

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por AlexBosquin em Dom 19 Jan 2014, 10:13

ah sim vc quer fazer um HUD, entendi kkk, então use o debbuger pra variáveis que vc não vai exibir pro player então isso economiza tempo kk,


AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por vitorfernandes13 em Dom 19 Jan 2014, 10:45

AlexBosquin escreveu:ah sim vc quer fazer um HUD, entendi kkk, então use o debbuger pra variáveis que vc não vai exibir pro player então isso economiza tempo kk,


Ah, isso chama "HUD", eu costumo chamar de barrinha hauhsausa, bem, vou pesquisar por HUD aqui, quem sabe eu acho a solução. vlw

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por AlexBosquin em Dom 19 Jan 2014, 11:09

blz, eu tentei procurar na lista de tutoriais do fórum pra vc mas nem achei, boa sorte ai!

se for fazer lá um HUD

energia = 3
vidas = 10

vc cria um "obj_player_globals", lá vc põe:

CREATE:
Código:

global.energia = 3 //tanto de energia que vc quer que o player tenha
global.vidas = 10 //tanto de vidas que o player tem

STEP:
Código:

if global.energia<=0 //se energia for menor ou igual a 0
{
//aqui a ação de resetar a room que o player ta
global.vidas-=1 //tira uma vida se perder toda a energia
}

if global.vidas<=0 //se as vidas forem menor ou igual a 0
{
  //ação de começar o jogo todo denovo
}


dai na colisão do player com o inimigo você põe:

Código:
global.energia -= 1 //tira um de energia

lembrando que tem que ver se quando ele colide nun ficar diminuindo o valor sempre e sim só uma vez senão na primeira colisão já tira toda a energia (se fosse eu ciraria um sistema de quando ele colidir com o inimigo fikar piscando e da uma binbada pra trás xD):

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por vitorfernandes13 em Dom 19 Jan 2014, 11:47

Consegui Alex, para que a variavel mudasse de valor eu deveria colocar que ela iria mudar de valor na condição dela. Ex.:

Código:

//Muda de bloco se tiver contaminado
if place_meeting(x,y-6,obj_fantasma){  //Se o meu player, o fantasma, está em cima do bloco
        instance_change(obj_bf1, true)  //Ele mudará de cor
        global.pontuacao += 100  //Irei aumentar a pontuação para 100 (e isso será mostrado na HUD)
        global.bloco -= 1  //E diminuirei um bloco (também será mostrado na HUD
}

Eu estava colocando global.pontuacao e global.bloco fora do if, então por isso que o HUD não atualizava  What a Face 

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por AlexBosquin em Dom 19 Jan 2014, 17:38

HAHAHAAHAH poise, as vezes agente nem consegue as coisas por um erro bobinho! xD

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: Valor das variáveis não é atualizado no draw

Mensagem por Conteúdo patrocinado Hoje à(s) 05:48


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