tem como criar um jogo onde o controle e o joystick???

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

tem como criar um jogo onde o controle e o joystick???

Mensagem por jvcguerreiro em Sab 03 Set 2011, 13:39

Olá galera,bom,hoje queria saber se tem como criar um jogo aonde o controle e o joystick do playstation 2.

TEM COMO??? Question Question

se tiver,me enssinem!!!!! Razz Razz


espero uma resposta!!! Laughing

jvcguerreiro Cool

jvcguerreiro

Número de Mensagens : 91
Idade : 18
Data de inscrição : 09/09/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Joton em Sab 03 Set 2011, 14:06

Cara sei uma forma onde se emula o teclado no controle de playstation, você precisa de um adaptador como esse:



E usar o "JoytoKey" esse tutorial do alexFc pode te ajudar te tu quer fazer isso:

http://gmbr.forumeiros.com/t2700-emulando-teclado-no-joystick?highlight=jogar+com+joystick

Esse é o modo mais fácil de jogar jogos feitos em Game maker, o modo mais difícil e criar um sistema embutido que aceite controle no teu jogo, e isso ainda não sei fazer. :cry:


Última edição por Joton em Sab 03 Set 2011, 14:08, editado 1 vez(es) (Razão : malditas letras ninjas ¬¬)

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Spadan_RTicou em Dom 04 Set 2011, 21:54

sim tem como mais não sei quais são os scripts

Spadan_RTicou

Número de Mensagens : 71
Idade : 18
Data de inscrição : 13/11/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por saim em Dom 04 Set 2011, 22:59

você quer dizer usar aquele direcional super-sensível que sabe com que força o jogador está indo pra esquerda ou direita e aqueles botões super-sensíveis que são capazes de diferenciar um apertinho de um aperto médio pela força que o jogador usou?
Só se houver alguma dll. O game maker, puro e simples, não faz isso.

É o que dá responder sem ler o manual... Olha, parece que existem algumas funções pra isso sim, mas nunca tentei usar nada do tipo, então não tenho como responder com certeza, mas pelo número de eixos, ele DEVE aceitar dois direcionais.

Se for um joystick qualquer, existe uma seção sobre joysticks no manual.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Igor KinGamer em Seg 05 Set 2011, 14:09

Eu já testei as funções do GM para joystick, funcionam direitinho. As funções joystick_...pos() retornam a posição dos analógicos como um valor entre -1 e 1 (com casas decimais), ou seja, captam se eles estão sendo mais ou menos empurrados. Você tem que testar para descobrir qual função está ligada a qual eixo de qual analógico e qual é o número de cada botão.

Leia, no help do gm, a seção "The Joystick" para conhecer as funções.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Super Maker em Seg 05 Set 2011, 14:19

Se você não tiver um controle como o Joton falou...

...pode comprar um desse...
.
Um como esse aqui em cima me custou R$35,00. Ele é próprio pra PC e Playstation.
Dái você pode desenvolver seus próprios códigos ou usar o gml do Jiraya...
Código:
#define init_keys
// >> Sistema de controle por teclado e joystick << //

// init_keys()

globalvar joy,tkey,skey,akey,ajoy,key,pkey,rkey,_pjoy_;

for (i = 0; i <= 13; i += 1) _pjoy_[i] = false;
skey = true; // ativar teclas e joystick

// Definir teclas
tkey = true;    // controle por teclado ativado

var n;
n = 4;  // número mínimo de botões que o joystick deve ter

akey[up] = ini_read_real('KEYS',string(up),ord('W'));
akey[down] = ini_read_real('KEYS',string(down),ord('S'));
akey[left] = ini_read_real('KEYS',string(left),ord('A'));
akey[right] = ini_read_real('KEYS',string(right),ord('D'));
akey[acao1] = ini_read_real('KEYS',string(acao1),ord('N'));
akey[acao2] = ini_read_real('KEYS',string(acao2),ord('M'));
akey[acao3] = ini_read_real('KEYS',string(acao3),ord('K'));
akey[acao4] = ini_read_real('KEYS',string(acao4),ord('J'));
akey[enter] = ini_read_real('KEYS',string(enter),vk_enter);
akey[select] = ini_read_real('KEYS',string(select),vk_space);
akey[l1] = ini_read_real('KEYS',string(l1),ord('Q'));
akey[r1] = ini_read_real('KEYS',string(r1),ord('E'));
akey[l2] = ini_read_real('KEYS',string(l2),ord('Z'));
akey[r2] = ini_read_real('KEYS',string(r2),ord('X'));

// Definir joystick

joy = (joystick_exists(1) && joystick_buttons(1) >= n);

ajoy[up] = ini_read_real('JOYSTICK',string(up),-4);
ajoy[down] = ini_read_real('JOYSTICK',string(down),-3);
ajoy[left] = ini_read_real('JOYSTICK',string(left),-2);
ajoy[right] = ini_read_real('JOYSTICK',string(right),-1);
ajoy[acao1] = ini_read_real('JOYSTICK',string(acao1),4);
ajoy[acao2] = ini_read_real('JOYSTICK',string(acao2),3);
ajoy[acao3] = ini_read_real('JOYSTICK',string(acao3),2);
ajoy[acao4] = ini_read_real('JOYSTICK',string(acao4),1);
ajoy[enter] = ini_read_real('JOYSTICK',string(enter),10);
ajoy[select] = ini_read_real('JOYSTICK',string(select),9);
ajoy[l1] = ini_read_real('JOYSTICK',string(l1),5);
ajoy[r1] = ini_read_real('JOYSTICK',string(r1),6);
ajoy[l2] = ini_read_real('JOYSTICK',string(l2),7);
ajoy[r2] = ini_read_real('JOYSTICK',string(r2),8);

key[up] = false;
key[down] = false;
key[left] = false;
key[right] = false;
key[acao1] = false;
key[acao2] = false;
key[acao3] = false;
key[acao4] = false;
key[enter] = false;
key[select] = false;
key[l1] = false;
key[r1] = false;
key[l2] = false;
key[r2] = false;

pkey[up] = false;
pkey[down] = false;
pkey[left] = false;
pkey[right] = false;
pkey[acao1] = false;
pkey[acao2] = false;
pkey[acao3] = false;
pkey[acao4] = false;
pkey[enter] = false;
pkey[select] = false;
pkey[l1] = false;
pkey[r1] = false;
pkey[l2] = false;
pkey[r2] = false;

rkey[up] = false;
rkey[down] = false;
rkey[left] = false;
rkey[right] = false;
rkey[acao1] = false;
rkey[acao2] = false;
rkey[acao3] = false;
rkey[acao4] = false;
rkey[enter] = false;
rkey[select] = false;
rkey[l1] = false;
rkey[r1] = false;
rkey[l2] = false;
rkey[r2] = false;

#define check_keys
// Checar teclas
// check_keys();

if skey
{
    for (i = 0; i <= 13; i += 1)
    {
        key[i] = (keyboard_check(akey[i]) && tkey) || (key_check_dir(akey[i]) && tkey) || joystick_check(1,i);
        pkey[i] = (keyboard_check_pressed(akey[i]) && tkey) || (key_check_dir_press(akey[i]) && tkey) || joystick_check_press(1,i);
        rkey[i] = (keyboard_check_released(akey[i]) && tkey);
    }
}

#define joystick_get
// Retorna botão pressionado no joystick
// joystick_get(id)

if joy
{
    var i;
    for (i = 1; i <= joystick_buttons(argument0); i += 1)
    {
        if joystick_check_button(argument0,i) return i;
    }
}
return false;

#define joystick_check
// Retorna se o botão especificado foi pressionado
// joystick_check(id,botao)

if (joy)
{
    if argument1 != up && argument1 != down && argument1 != left && argument1 != right
    {
        return joystick_check_button(argument0,ajoy[argument1]);
    }
    else
    {
        return joystick_check_dir(1,argument1);
    }
}
return false;

#define joystick_check_press
// Retorna se o botão especificado foi pressionado pela primeira vez
// joystick_check_press(id,botao)

if (joy)
{
    var g;
    if argument1 >= 4
    {
        g = joystick_check_button(argument0,ajoy[argument1]);
       
        if !g _pjoy_[argument1] = false;
        if g && _pjoy_[argument1] g = false;
        if g && !_pjoy_[argument1] _pjoy_[argument1] = true;

        return g;
    }
    else
    {
        g = joystick_check_dir(argument0,argument1);

        if !g _pjoy_[argument1] = false;
        if g && _pjoy_[argument1] g = false;
        if g && !_pjoy_[argument1] _pjoy_[argument1] = true;

        return g;
    }
}
return false;

#define joystick_check_dir
// Checar anologico e direcionais como um só
// joystick_check_dir(id,direcao)

if joy
{
    /*if argument1 = ajoy[up] argument1 = up;
    if argument1 = ajoy[down] argument1 = down;
    if argument1 = ajoy[left] argument1 = left;
    if argument1 = ajoy[right] argument1 = right;*/

    switch (argument1)
    {
        case up:
            if joystick_direction(argument0) = vk_numpad8 || joystick_direction(argument0) = vk_numpad7 || joystick_direction(argument0) = vk_numpad9 || joystick_ypos(1) = -1
            {
                //keyboard_key_press(vk_up);
                return true;
            }
        break;
       
        case down:
            if joystick_direction(argument0) = vk_numpad2 || joystick_direction(argument0) = vk_numpad1 || joystick_direction(argument0) = vk_numpad3 || joystick_ypos(1) = 1
            {
                //keyboard_key_press(vk_down);
                return true;
            }
        break;
       
        case left:
            if joystick_direction(argument0) = vk_numpad4 || joystick_direction(argument0) = vk_numpad7 || joystick_direction(argument0) = vk_numpad1 || joystick_xpos(1) = -1
            {
                //keyboard_key_press(vk_left);
                return true;
            }
        break;
       
        case right:
            if joystick_direction(argument0) = vk_numpad6 || joystick_direction(argument0) = vk_numpad9 || joystick_direction(argument0) = vk_numpad3 || joystick_xpos(1) = 1
            {
                //keyboard_key_press(vk_right);
                return true;
            }
        break;
    }
   
}

return false;

#define key_check_dir
// Checar teclas direcionais
// key_check_dir(dir)

switch (argument0)
{
    case akey[up]:
        return keyboard_check(vk_up)
    break;
   
    case akey[down]:
        return keyboard_check(vk_down)
    break;
   
    case akey[left]:
        return keyboard_check(vk_left)
    break;
   
    case akey[right]:
        return keyboard_check(vk_right)
    break;
}

return false;

#define key_check_dir_press
// Checar teclas direcionais precionadas pela primeira vez
// key_check_dir_press(dir)

switch (argument0)
{
    case akey[up]:
        return keyboard_check_pressed(vk_up)
    break;
   
    case akey[down]:
        return keyboard_check_pressed(vk_down)
    break;
   
    case akey[left]:
        return keyboard_check_pressed(vk_left)
    break;
   
    case akey[right]:
        return keyboard_check_pressed(vk_right)
    break;
}

return false;

#define draw_key_debug
// draw_key_debug(x,y)

draw_set_halign(fa_right);
t = view_xview+view_wview-argument0;
ty = view_yview+argument1;
draw_text(t,ty+20*0,'pkey[up]: '+string(pkey[up]));
draw_text(t,ty+20*1,'pkey[down]: '+string(pkey[down]));
draw_text(t,ty+20*2,'pkey[left]: '+string(pkey[left]));
draw_text(t,ty+20*3,'pkey[right]: '+string(pkey[right]));
draw_text(t,ty+20*4,'pkey[acao1]: '+string(pkey[acao1]));
draw_text(t,ty+20*5,'pkey[acao2]: '+string(pkey[acao2]));
draw_text(t,ty+20*6,'pkey[acao3]: '+string(pkey[acao3]));
draw_text(t,ty+20*7,'pkey[acao4]: '+string(pkey[acao4]));
draw_text(t,ty+20*8,'pkey[l1]: '+string(pkey[l1]));
draw_text(t,ty+20*9,'pkey[r1]: '+string(pkey[r1]));
draw_text(t,ty+20*10,'pkey[l2]: '+string(pkey[l2]));
draw_text(t,ty+20*11,'pkey[r2]: '+string(pkey[r2]));
draw_text(t,ty+20*12,'pkey[enter]: '+string(pkey[enter]));

draw_text(t,ty+20*13,'pkey[select]: '+string(pkey[select]));

draw_set_halign(fa_left);
t = view_xview+argument0;
draw_text(t,ty+20*0,'key[up]: '+string(key[up]));
draw_text(t,ty+20*1,'key[down]: '+string(key[down]));
draw_text(t,ty+20*2,'key[left]: '+string(key[left]));
draw_text(t,ty+20*3,'key[right]: '+string(key[right]));
draw_text(t,ty+20*4,'key[acao1]: '+string(key[acao1]));
draw_text(t,ty+20*5,'key[acao2]: '+string(key[acao2]));
draw_text(t,ty+20*6,'key[acao3]: '+string(key[acao3]));
draw_text(t,ty+20*7,'key[acao4]: '+string(key[acao4]));
draw_text(t,ty+20*8,'key[l1]: '+string(key[l1]));
draw_text(t,ty+20*9,'key[r1]: '+string(key[r1]));
draw_text(t,ty+20*10,'key[l2]: '+string(key[l2]));
draw_text(t,ty+20*11,'key[r2]: '+string(key[r2]));
draw_text(t,ty+20*12,'key[enter]: '+string(key[enter]));
draw_text(t,ty+20*13,'key[select]: '+string(key[select]));

#define key_save
ini_write_real('KEYS',string(up),akey[up]);
ini_write_real('KEYS',string(down),akey[down]);
ini_write_real('KEYS',string(left),akey[left]);
ini_write_real('KEYS',string(right),akey[right]);
ini_write_real('KEYS',string(acao1),akey[acao1]);
ini_write_real('KEYS',string(acao2),akey[acao2]);
ini_write_real('KEYS',string(acao3),akey[acao3]);
ini_write_real('KEYS',string(acao4),akey[acao4]);
ini_write_real('KEYS',string(enter),akey[enter]);
ini_write_real('KEYS',string(select),akey[select]);
ini_write_real('KEYS',string(l1),akey[l1]);
ini_write_real('KEYS',string(r1),akey[r1]);
ini_write_real('KEYS',string(l2),akey[l2]);
ini_write_real('KEYS',string(r2),akey[r2]);

// Definir joystick

/*ini_write_real('JOYSTICK',string(up),-4);
ini_write_real('JOYSTICK',string(down),-3);
ini_write_real('JOYSTICK',string(left),-2);
ini_write_real('JOYSTICK',string(right),-1);*/
ini_write_real('JOYSTICK',string(acao1),ajoy[acao1]);
ini_write_real('JOYSTICK',string(acao2),ajoy[acao2]);
ini_write_real('JOYSTICK',string(acao3),ajoy[acao3]);
ini_write_real('JOYSTICK',string(acao4),ajoy[acao4]);
ini_write_real('JOYSTICK',string(enter),ajoy[enter]);
ini_write_real('JOYSTICK',string(select),ajoy[select]);
ini_write_real('JOYSTICK',string(l1),ajoy[l1]);
ini_write_real('JOYSTICK',string(r1),ajoy[r1]);
ini_write_real('JOYSTICK',string(l2),ajoy[l2]);
ini_write_real('JOYSTICK',string(r2),ajoy[r2]);

Valeu?

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Vikintor em Seg 05 Set 2011, 20:27

Cole no evento Step . Depois plugue qualquer controle USB e use.
Obs: Foi testado em um controle de PS3 original com o cabo usb.
Super simples e fácil de usar.
Talvez em breve faça um tutorial mais explicado.
Código:

      if joystick_check_button(1,1) {} //select
      if joystick_check_button(1,2) {} //L3
      if joystick_check_button(1,3) {} //R3       
      if joystick_check_button(1,4) {} //START
      if joystick_check_button(1,5) {} //UP
      if joystick_check_button(1,6) {} //LEFT
      if joystick_check_button(1,7) {} //DOWN
      if joystick_check_button(1,8) {} //LEFT
      if joystick_check_button(1,9) {} //L2
      if joystick_check_button(1,10) {} //R2
      if joystick_check_button(1,11) {} //L1
      if joystick_check_button(1,12) {} //R1
      if joystick_check_button(1,13) {} //TRIANGLE
      if joystick_check_button(1,14) {} //O
      if joystick_check_button(1,15) {} //X
      if joystick_check_button(1,16) {} //CUBE
      if joystick_check_button(1,17) {} //PS3 BUTTON


Vikintor

Ranking : Nota B
Número de Mensagens : 901
Idade : 26
Data de inscrição : 28/03/2010
Notas recebidas : B
Reputação : 17
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://vikintor.tumblr.com/

Voltar ao Topo Ir em baixo

Re: tem como criar um jogo onde o controle e o joystick???

Mensagem por Conteúdo patrocinado Hoje à(s) 00:30


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