Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

5 participantes

    Dicas gerais de nivel intermediario em gamemaker

    LucasMan
    LucasMan
    Admin
    Admin


    Masculino
    Número de Mensagens : 99
    Advertencias : 0%

    Habilidade : Dicas gerais de nivel intermediario em gamemaker Gm
    Reputação Reputação : 2

    Dicas gerais de nivel intermediario em gamemaker Empty Dicas gerais de nivel intermediario em gamemaker

    Mensagem por LucasMan Qua 23 Jul - 16:20

    Nivel:Intermediario
    gm5 gm6 gm7
    Créditos especiais à: hiperbite,Mathy220 e LucasMan

    Aqui estão alguns comandos básicos sobre GML, vejam:

    Comando básicos:

    if: Esse código serve para quando você for fazer alguma coisa, ou quando acontecer alguma coisa. EX:
    Código:
    if keyboard_check(vk_up)
    room_goto(room2) //esse é um exemplo, quando a seta para cima for pressionada irá para a room2

    var: Esse código serve para criar uma variável, veja:
    Código:
    var_(nome da variável)=true

    score: Bom, acho que não é preciso dizer nada, esse código define a pontuação. Ex:
    Código:
    //aqui estamos inserindo 10 pontos
    score+=10

    lives: É a mesma coisa de score, só que aqui são as vidas

    false
    : Esse código é como uma execusão falsa, exemplo:
    Código:
    //Aqui será pressionada a seta para direita, então a var_parado será falsa e a var_direita será verdadeira
    if keyboard_check(vk_right) and not keyboard_check(vk_left)
        {
        var_parado = false
        var_direita = true
        }

    gravity: O nome já diz, esse comando define a gravidade, veja um exemplo:
    Código:
    gravity = 0.75

    sprite_index: Esse comando mostra uma sprite, veja um exemplo:
    Código:
    // esse é apenas um exemplo, não tente usar esse código
    if keyboard_check(vk_down)
    sprite_index = spr_player

    instance_destroy(): Esse comando é para destruir um objeto, veja um pequeno exemplo:
    Código:
    // caso a seta para esquerda seja pressionada o objeto que está executando esse código será destruído
    if keyboard_check_pressed(vk_left)
    instace_destroy();

    instance_create: Comando utilizado para criar uma instância (objeto)

    image_speed: Controle da velocidade da imagem, veja:
    Código:
    image_speed=0.25

    Comandos do teclado:

    Setas:

    keyboard_check(vk_up)// Seta para cima
    keyboard_check(vk_down)// Seta para baixo
    keyboard_check(vk_left)// Seta para a esquerda
    keyboard_check(vk_right)// Seta para a direita
    keyboard_check(vk_space)// Tecla barra de espaços

    Letras:
    (keyboard_check(ord('X'))// para você mudar as teclas apenas mude a letra X para a tecla que você deseja

    Outros

    hspeed*=-1: esse código serve para inverter uma velocidade. Exemplo:
    Código:
    //crie um evento colison do player com a parede e escreva o comando citado acima.

    draw_text
    : Escreve um texto, veja um exemplo:
    Código:
    // fica escrito time na room
    draw_text(280,25,time);

    view_xview e view_yview: Esse código serve para uma sprite seguir a tela. Ex:
    Código:
    // o objeto que está executando esse código irá  seguir a room.
    view_xview+100
    view_yview+100

    Já disse muitos comandos, agora vamos criar alguns códigos:

    Contato com o chão:
    Código:
    // esse código é para o contato do player com o chão, a velocidade muda para 0
    move_contact_solid(direction,8)
    vspeed = 0
    Código:
    //código bem simples, crie um evento colision de um inimigo com um bloco.
    if sprite_index=spr_inimigo_esquerda
    {
    sprite_index=spr_inimigo_direita;
    }
    else
    {
    sprite_index=spr_inimigo_esquerda;
    }
    Código:
    // muda para a room0

    room_goto(room0)

    Agora aqui vai umas dicas para criação de inimigos.

    1º- Inimigo comum

    Vamos lá pessoal para a primeira matéria, não sou muito bom com explicações mas vou tentar, vamos começar fazendo a AI de um inimigo para seu jogo, esse inimigo é aquele clássico que anda de um lado para o outro.

    Primeiro crie as sprites do inimigo, uma chamada " inimigo_esquerda" e outra chamada " inimigo_direita" (Sem aspas).Pois se você escrever algo errado o script vai acusar um erro e o jogo não vai funcionar corretamente, Agora, crie um bloco chamado "Wall" ou como quiser, esse bloco sera sólido e terá que ficar invisível, então nas propriedades do bloco desmarque a opção visible (para que ele não apareça no jogo ) pois ele será o bloco que fará seu inimigo bater e voltar.

    Agora que criamos os sprites vamos para a segunda parte, vamos criar um objeto para o inimigo, coloque o nome que quiser nele e em Create coloque esses códigos pois as variáveis vão ser ativadas no inicio do objeto, pois Create é o inicio das ações do objeto:

    Código:
    Gravi_dade = true // você pode dar o nome que quiser para a variável
    pa_rado = true
    direi_ta = true
    velo_cidade = 4

    Código:
    image_speed=0.55 // você também pode mudar a velocidade, a que te agrada melhor,ele muda a velocidade dos sprites

    Clique na seta virada para a direita, em Speed coloque 3 e não marque a opção Relative, agora clique em Ok.

    Crie um evento Step e escreva o código:

    Código:
    //AQUI VOCÊ DEFINE A GRAVIDADE
    if place_free(x,y+1)
      {
      gravi_dade = false
      gravity = 0.75
      }
    else
      {
      gravi_dade= true
      gravity = 0
      }


    //LIMITAR VELOCIDADE DE QUEDA
    if (vspeed > 10) {vspeed = 10}

    Já estamos no final, crie um evento colision com o Wall e escreva:

    Código:
    if sprite_index=spr_inimigo_direita
    {
    sprite_index=spr_inimigo_esquerda;
    }
    else
    {
    sprite_index=spr_inimigo_direita;
    }

    Logo depois:

    Código:
    hspeed*=-1;//isso inverte a velocidade ao bater no Wall,( hspeed )esse código é para inverter somente na horizontal.

    Agora que terminamos vamos criar o objeto chão, pois se não tiver esse objeto o seu inimigo vai cair e sumir na tela, agora crie um evento colision do inimigo com o objeto chao e escreva:

    Código:
    move_contact_solid(direction,8)
    vspeed = 0

    2º- inimigo com IA

    Com esse código o inimigo ira pular quando você se aproximar dele, ele também pode ser usado para outras coisas como atirar,segir o personagem mas isso vou explicar mais abaixo.

    IA básico:

    Código:
    if distance_to_object(obj_player)<37     
      {
      vspeed=-14
      }

    IA simples:

    Evento Create:

    Código:
    alarm[0]=round(random(90)+90)

    Alarm0:

    Código:
     
    //aqui o seu inimigo atira e toca o som do tiro ao obj_player se aproximar.
    if distance_to_object(obj_player)<150
    {
    sound_play(tiro)
    instance_create(x-1,y,bala);
    }
    alarm[0]=60

    Se você quiser que o inimigo faça todas as ações juntas faça o seguinte crie o mesmo código de antes, esse:

    Código:
    if distance_to_object(obj_player)<37     
      {
      vspeed=-14
      }

    Agora um efeito simples de fade sem usar transição de rooms...

    ara fazer um efeito de escurecer/clarear a tela manualmente basicamente vc precisará desenhar um retângulo do tamanho da tela e mudar a transparência dele.

    Para começar, crie um obj que irá controlar o efeito. Vou chama-lo de obj_controle. Nesse oj, adicione um evento create e crie duas variaveis para indicar o nível de opacidade e se o efeito está ligado ou não.
    Código:
    opacidade=1;
    ligado=0;

    Obs: O nível máximo de opacidade é 1, onde estará com toda a cor, quanto menor o valor, mais transparente.

    Agora vamos trabalhar no evento draw para desenhar nosso retângulo...
    Iremos usar as seguintes funções:

    • draw_set_alpha(nivel) - É usada para alterar o nível de transparência do que está sendo desenhado;
    • draw_rectangle(x1,y1,x2,y2,lina) - Essa função irá desenhar o retângulo. X1 e Y1 indicam a posição do retângulo na tela, X2 e Y2 indicam o tamanho(largura e altura, respectivamente) e linha indica se somente uma linha deverá ser desenhada, sem preenchimento;
    • draw_set_color(cor) - Usada para definir a cor do desenho.
    Conhecendo as funções podemos começar o código do evento draw...
    Código:
    draw_set_alpha(opacidade);
    draw_set_color(c_black);
    draw_rectangle(0,0,640,480,0);
    Primeiro definimos o nível de transparência usando a variável que criamos antes, depois definimos a cor do desenho para preto e finalmente desenhamos o retângulo. Repare que o tamanho usado nesse exemplo é 640x480, lembre-se de usar o tamanho da tela do seu jogo.

    Agora temos que criar um jeito de ligar e desligar a transparência, para testar, adicione dois eventos key press, eu usei A e S para ligar e desligar, respectivamente.
    Evento A:
    Código:
    ligado=1;
    Evento S:
    Código:
    ligado=0;

    Já definimos o desenho e um sistema de teste para ligar e desligar, mas é agora que iremos criar o efeito de transição fazendo com que fique transparente aos poucos. Adicione um evento step e nele coloque as seguintes condições.
    Código:
    if ligado==1 && opacidade>0 then //se o efeito estiver ligado e a opacidade for maior que zero)
    {
    opacidade-=0.1;
    }
    if ligado==0 && opacidade<1 then//se o efeito estiver desligado e a opacidade for menor do que 1
    {
    opacidade+=0.1
    }
    É bem simples, apenas checa se o sistema está ligado ou não e soma ou subtrai o valor da opacidade aos poucos para dar o efeito de transição.

    Obrigado pela atenção e desfrutem :lol:
    rodrigo1434
    rodrigo1434
    Admin
    Admin


    Masculino
    Idade : 30
    Número de Mensagens : 782
    Advertencias : 0%

    Reputação Reputação : 14

    Dicas gerais de nivel intermediario em gamemaker Empty Re: Dicas gerais de nivel intermediario em gamemaker

    Mensagem por rodrigo1434 Qui 24 Jul - 18:53

    valeu Lucas por ajudar fico feliz por essa ótima matéria
    :lol:
    Cardume
    Cardume
    Membro
    Membro


    Masculino
    Idade : 25
    Número de Mensagens : 139
    Advertencias : 25%

    Habilidade : Dicas gerais de nivel intermediario em gamemaker Gm
    Reputação Reputação : -2

    Dicas gerais de nivel intermediario em gamemaker Empty Re: Dicas gerais de nivel intermediario em gamemaker

    Mensagem por Cardume Seg 28 Dez - 16:42

    vlw por ajudar ein tem bastant codigo ai vlw mesmo tava procurando codigos :D Dicas gerais de nivel intermediario em gamemaker 311441
    ArandyIlhay
    ArandyIlhay
    Ocasional
    Ocasional


    Masculino
    Idade : 23
    Número de Mensagens : 325
    Advertencias : 0%

    Habilidade : Dicas gerais de nivel intermediario em gamemaker Gm
    Reputação Reputação : 1

    Dicas gerais de nivel intermediario em gamemaker Empty Re: Dicas gerais de nivel intermediario em gamemaker

    Mensagem por ArandyIlhay Sex 23 Abr - 7:55

    gente eu não so bom em codico mais coloco nos meus jogos tambem então eu gostei dessa ajuda ta bom Dicas gerais de nivel intermediario em gamemaker 269216
    Hellz
    Hellz
    Membro
    Membro


    Masculino
    Idade : 28
    Número de Mensagens : 54
    Advertencias : 0%

    Habilidade : Dicas gerais de nivel intermediario em gamemaker Gm
    Reputação Reputação : 0

    Dicas gerais de nivel intermediario em gamemaker Empty Re: Dicas gerais de nivel intermediario em gamemaker

    Mensagem por Hellz Ter 20 Jul - 19:25

    cara, foi a melhor explicação de codes q eu achei pela net...
    nota 10

    Conteúdo patrocinado


    Dicas gerais de nivel intermediario em gamemaker Empty Re: Dicas gerais de nivel intermediario em gamemaker

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qua 27 Nov - 12:37