CONSTANTES NO JOGO???

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

CONSTANTES NO JOGO???

Mensagem por diassis em Seg 10 Maio 2010, 22:30

Aê galera!!!!! Estive pesquisando..... mas, ?????
É que ha muito tempo ouvi falar de constantes na programação, se não me engano, uma constante serve para orientar o andamento do jogo caso haja descontole de variaveis, "não tenho certeza, é mais ou menos isso" se alguém souber como usar constantes, favor explica, por que eu e muita gente aqui não sabemos como usar constantes, é por isso que muitas vezes os jogos parecem malucos cheios de "bug's" é por que não tem constantes.

Quem souber explica tá Question Question Question
Valew galera Exclamation Exclamation Exclamation

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por Licht em Seg 10 Maio 2010, 22:56

eu não sei dessas constantes, mas dizem que usar o debug mode ajuda a resolver os bugs.

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por Kabeção em Seg 10 Maio 2010, 23:14

Constantes são variaveis que não podem alterar seus valores.
c_white, c_red, true, false, todos essas variaveis são constantes.
Na verdade nem posso chama-las de variaveis porque variaveis...hum...variam! xD
Não se pode alterar o valor delas.

Não sei onde você viu isso mas o conceito esta totalmente errado!

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por shatterhand2 em Seg 10 Maio 2010, 23:17

Constante é uma variável que nunca muda de valor durante sua execução. (Bem, na verdade como ela não varia, não deveria se chamar "Variável"... mas acho que assim é melhor de explicar o conceito Very Happy)

O uso de constantes pode tornar o seu código mais "correto" e fácil de corrigir.

Diz as boas regras da programação que você *NUNCA* deve usar números nas suas operações matemáticas, apenas variáveis e constantes.

Por exemplo, é comum que você crie uma rotina pra fazer o personagem se mover, variando seu X e Y.

normalmente a galera faz algo desse tipo:

x+=4
y+=4
x-=4
y-=4

Nos eventos de cada tecla correspondente. A maneira mais "correta" de fazer é guardar esse 4 numa variável "velocidade", e mandar alterar o x e o y em razão da variável "velocidade", e não em 4.

Dessa forma, caso você precise mudar esse valor depois, você não precisa alterar em TODAS AS LINHAS de código, você altera apenas o valor da variável.



O GameMaker não trabalha com constantes. O GameMaker só trabalho com dois tipos de variáveis: Real e String. Você pode simplesmente inicializar uma variável com um valor específico e nunca mais alterar, e vai funcionar como uma constante.

Entretanto, o GameMaker tem 3 constantes internas:

True = 1
False = 0
pi = 3.1415...

Quando você usa as palavras "True", "False" ou "pi", você está na verdade usando os valores acima.

Espero ter ajudado, se tiver mais dúvidas é só perguntar Smile

shatterhand2

Número de Mensagens : 645
Idade : 33
Data de inscrição : 21/10/2009
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://shatterhand.beatthegame.net

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por diassis em Seg 10 Maio 2010, 23:36

A quetão não seria exatamente corrigir bug's e sim evita-los, a falta de uso das constante contribue para que bugs ocorram. acabo de encontrar a relação de constantes que podemos utiliza-las, alguma já conhecemos e as usamos sem se dar conta disso, tais são:


all
bm_add
bm_dest_alpha
bm_dest_color
bm_inv_dest_alpha
bm_inv_dest_color
bm_inv_src_alpha
bm_inv_src_color
bm_max
bm_normal
bm_one
bm_src_alpha
bm_src_alpha_sat
bm_src_color
bm_subtract
bm_zero
c_aqua
c_black
c_blue
c_dkgray
c_fuchsia
c_gray
c_green
c_lime
c_ltgray
c_maroon
c_navy
c_olive
c_orange
c_purple
c_red
c_silver
c_teal
c_white
c_yellow
cr_appstart
cr_arrow
cr_arrrow
cr_beam
cr_cross
cr_default
cr_drag
cr_handpoint
cr_help
cr_hourglass
cr_hsplit
cr_multidrag
cr_no
cr_nodrop
cr_none
cr_size_all
cr_size_nesw
cr_size_ns
cr_size_nwse
cr_size_we
cr_sqlwait
cr_uparrow
cr_vsplit
dll_cdecl
dll_stdcall
ef_cloud
ef_ellipse
ef_explosion
ef_firework
ef_flare
ef_rain
ef_ring
ef_smoke
ef_smokeup
ef_snow
ef_spark
ef_star
ev_alarm
ev_animation_end
ev_boundary
ev_close_button
ev_collision
ev_create
ev_destroy
ev_draw
ev_end_of_path
ev_game_end
ev_game_start
ev_global_left_button
ev_global_left_press
ev_global_left_release
ev_global_middle_button
ev_global_middle_press
ev_global_middle_release
ev_global_press
ev_global_release
ev_global_right_button
ev_global_right_press
ev_global_right_release
ev_joystick1_button1
ev_joystick1_button2
ev_joystick1_button3
ev_joystick1_button4
ev_joystick1_button5
ev_joystick1_button6
ev_joystick1_button7
ev_joystick1_button8
ev_joystick1_down
ev_joystick1_left
ev_joystick1_right
ev_joystick1_up
ev_joystick2_button1
ev_joystick2_button2
ev_joystick2_button3
ev_joystick2_button4
ev_joystick2_button5
ev_joystick2_button6
ev_joystick2_button7
ev_joystick2_button8
ev_joystick2_down
ev_joystick2_left
ev_joystick2_right
ev_joystick2_up
ev_keyboard
ev_keypress
ev_keyrelease
ev_left_button
ev_left_press
ev_left_release
ev_middle_button
ev_middle_press
ev_middle_release
ev_mouse
ev_mouse_enter
ev_mouse_leave
ev_mouse_wheel_down
ev_mouse_wheel_up
ev_no_button
ev_no_more_health
ev_no_more_lives
ev_other
ev_outside
ev_right_button
ev_right_press
ev_right_release
ev_room_end
ev_room_start
ev_step
ev_step_begin
ev_step_end
ev_step_normal
ev_user0
ev_user1
ev_user10
ev_user11
ev_user12
ev_user13
ev_user14
ev_user15
ev_user2
ev_user3
ev_user4
ev_user5
ev_user6
ev_user7
ev_user8
ev_user9
fa_archive
fa_bottom
fa_center
fa_directory
fa_hidden
fa_left
fa_middle
fa_readonly
fa_right
fa_sysfile
fa_top
fa_volumeid
false
global
local
mb_any
mb_left
mb_middle
mb_none
mb_right
noone
other
pi
pr_linelist
pr_linestrip
pr_pointlist
pr_trianglefan
pr_trianglelist
pr_trianglestrip
ps_change_all
ps_change_motion
ps_change_shape
ps_deflect_horizontal
ps_deflect_vertical
ps_distr_gaussian
ps_distr_invgaussian
ps_distr_linear
ps_force_constant
ps_force_linear
ps_force_quadratic
ps_shape_diamond
ps_shape_ellipse
ps_shape_line
ps_shape_rectangle
pt_shape_circle
pt_shape_cloud
pt_shape_disk
pt_shape_explosion
pt_shape_flare
pt_shape_line
pt_shape_pixel
pt_shape_ring
pt_shape_smoke
pt_shape_snow
pt_shape_spark
pt_shape_sphere
pt_shape_square
pt_shape_star
se_chorus
se_compressor
se_echo
se_equalizer
se_flanger
se_gargle
se_none
se_reverb
self
true
ty_real
ty_string
vk_add
vk_alt
vk_anykey
vk_backspace
vk_control
vk_decimal
vk_delete
vk_divide
vk_down
vk_end
vk_enter
vk_escape
vk_f1
vk_f10
vk_f11
vk_f12
vk_f2
vk_f3
vk_f4
vk_f5
vk_f6
vk_f7
vk_f8
vk_f9
vk_home
vk_insert
vk_lalt
vk_lcontrol
vk_left
vk_lshift
vk_multiply
vk_nokey
vk_numpad0
vk_numpad1
vk_numpad2
vk_numpad3
vk_numpad4
vk_numpad5
vk_numpad6
vk_numpad7
vk_numpad8
vk_numpad9
vk_pagedown
vk_pageup
vk_pause
vk_printscreen
vk_ralt
vk_rcontrol
vk_return
vk_right
vk_rshift
vk_shift
vk_space
vk_subtract
vk_tab
vk_up

algumas são bastante familiares e as usamos "constantemente" as outras só resta estuda-las. parece que são como variaveis, mas que tem o seu valor fixo que nunca é alterado durante o jogo, já as variáveis os valores mudam o tempo todo.
Papo interessante vou ler mais a respeito....

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por shatterhand2 em Seg 10 Maio 2010, 23:41

É, esses caras são constantes também.

Mas não se esqueça que você pode definir as suas próprias constantes. Expliquei acima com fazer, e qual é a importância disso.

shatterhand2

Número de Mensagens : 645
Idade : 33
Data de inscrição : 21/10/2009
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://shatterhand.beatthegame.net

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por diassis em Seg 10 Maio 2010, 23:58

pi = 3.1415...
interessante shatterhand2, uma vez sem querer eu usei essa constante, mas o esquisito.... era para declarar uma sprite para que ela fosse desenhada com seu valor x e y para o centro não achei o exemplo para te mostrar vou continuar procurando.

_____ EDITADO______
Achei!!!!!

Código:
x=obj_alien1.x+pi;
y=obj_alien1.y+pi;
isso é colocado no step de um objeto para seguir outro centralizadamente, não sei como mas funciona.

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por Klior em Ter 11 Maio 2010, 07:12

shatterhand2 escreveu:Constante é uma variável que nunca muda de valor durante sua execução. (Bem, na verdade como ela não varia, não deveria se chamar "Variável"... mas acho que assim é melhor de explicar o conceito Very Happy)

O uso de constantes pode tornar o seu código mais "correto" e fácil de corrigir.

Diz as boas regras da programação que você *NUNCA* deve usar números nas suas operações matemáticas, apenas variáveis e constantes.

Por exemplo, é comum que você crie uma rotina pra fazer o personagem se mover, variando seu X e Y.

normalmente a galera faz algo desse tipo:

x+=4
y+=4
x-=4
y-=4

Nos eventos de cada tecla correspondente. A maneira mais "correta" de fazer é guardar esse 4 numa variável "velocidade", e mandar alterar o x e o y em razão da variável "velocidade", e não em 4.

Dessa forma, caso você precise mudar esse valor depois, você não precisa alterar em TODAS AS LINHAS de código, você altera apenas o valor da variável.



O GameMaker não trabalha com constantes. O GameMaker só trabalho com dois tipos de variáveis: Real e String. Você pode simplesmente inicializar uma variável com um valor específico e nunca mais alterar, e vai funcionar como uma constante.

Entretanto, o GameMaker tem 3 constantes internas:

True = 1
False = 0
pi = 3.1415...

Quando você usa as palavras "True", "False" ou "pi", você está na verdade usando os valores acima.

Espero ter ajudado, se tiver mais dúvidas é só perguntar Smile

O game maker trabalha com constante sim, olha:

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por KinKing em Ter 11 Maio 2010, 11:05

É verdade, ela está aí sim, apesar de que é um saco ter que abrir essa maldita janelinha toda vez, e ainda mais essa janelinha SUPER ruim, que mal dá pra organizar...

Se você for trocentas constantes como eu tenho, fica legal separar com constantes de string, só para ter uma separação. Por exemplo:

(lacuna esquerda) | (lacuna direita)

STATUS_CRIACAO | "STATUS DE CRIAÇÃO"

Aí embaixo (ou em cima, como preferir, eu prefiro embaixo...) você colocar os valores... e quando chegar numa nova parte, coloca outro valor de string... por exemplo...

SPRITES | "VALORES DE SPRITE"

Coisas desse tipo!

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por Cainã em Ter 11 Maio 2010, 13:10

Eu sempre usei constantes e agora no GM8 é mais fácil abrir a janelinha, é só dar Shift+Ctrl+N . Utilizar constantes é bom porque elas são globais e mais leves. Além disso não é preciso definir elas em código como variáveis.

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: CONSTANTES NO JOGO???

Mensagem por Conteúdo patrocinado Hoje à(s) 12:31


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