Mercurial > hg > old > magoroku_racing.bad
view controler.cc @ 122:5219bf3d5e71
title_draw
author | e085768 |
---|---|
date | Mon, 27 Jun 2011 19:44:46 +0900 |
parents | f2e2460b4011 |
children | 586d68c42c5d |
line wrap: on
line source
/* controler.c */ #include "libps2.h" #include "ps2util.h" #include "controler.h" #include <stdbool.h> #include <SDL.h> #include "matrix_calc.h" #include "TaskManager.h" #include "SceneGraph.h" #include "Application.h" #include "sjoy.h" // ps2関連ファイルから //キー入力変数 struct SGO_PAD pad; /* SgoexCerium をみながら、改変。 引数を追加して、変数名以外の書き方を似せた */ bool padCheck(SDL_Joystick *joy) { SDL_JoystickUpdate(); if (SDL_JoystickGetButton(joy,PS2_START)==SDL_PRESSED) { pad.st += (pad.st < 2) ? 1 : 0; } else { pad.st = 0; } if (SDL_JoystickGetButton(joy,PS2_SELECT)==SDL_PRESSED) { pad.se += (pad.se < 2) ? 1 : 0; } else { pad.se = 0; } if (SDL_JoystickGetButton(joy,PS2_LEFT)==SDL_PRESSED) { pad.left += (pad.left < 2) ? 1 : 0; } else { pad.left = 0; } if (SDL_JoystickGetButton(joy,PS2_RIGHT)==SDL_PRESSED) { pad.right += (pad.right < 2) ? 1 : 0; } else { pad.right = 0; } if (SDL_JoystickGetButton(joy,PS2_UP)==SDL_PRESSED) { pad.up += (pad.up < 2) ? 1 : 0; } else { pad.up = 0; } if (SDL_JoystickGetButton(joy,PS2_DOWN)==SDL_PRESSED) { pad.down += (pad.down < 2) ? 1 : 0; } else { pad.down = 0; } if (SDL_JoystickGetButton(joy,PS2_R1)==SDL_PRESSED) { pad.r1 += (pad.r1 < 2) ? 1 : 0; } else { pad.r1 = 0; } if (SDL_JoystickGetButton(joy,PS2_R2)==SDL_PRESSED) { pad.r2 += (pad.r2 < 2) ? 1 : 0; } else { pad.r2 = 0; } if (SDL_JoystickGetButton(joy,PS2_L1)==SDL_PRESSED) { pad.l1 += (pad.l1 < 2) ? 1 : 0; } else { pad.l1 = 0; } if (SDL_JoystickGetButton(joy,PS2_L2)==SDL_PRESSED) { pad.l2 += (pad.l2 < 2) ? 1 : 0; } else { pad.l2 = 0; } if (SDL_JoystickGetButton(joy,PS2_CROSS)==SDL_PRESSED) { pad.cross += (pad.cross < 2) ? 1 : 0; } else { pad.cross = 0; } if (SDL_JoystickGetButton(joy,PS2_CIRCLE)==SDL_PRESSED) { pad.circle += (pad.circle < 2) ? 1 : 0; } else { pad.circle = 0; } if (SDL_JoystickGetButton(joy,PS2_TRIANGLE)==SDL_PRESSED) { pad.triangle += (pad.triangle < 2) ? 1 : 0; } else { pad.triangle = 0; } if (SDL_JoystickGetButton(joy,PS2_SQUARE)==SDL_PRESSED) { pad.square += (pad.square < 2) ? 1 : 0; } else { pad.square = 0; } if ( (SDL_JoystickGetButton(joy,PS2_SELECT)==SDL_PRESSED) && (SDL_JoystickGetButton(joy,PS2_START)==SDL_PRESSED) && (SDL_JoystickGetButton(joy,PS2_L1)==SDL_PRESSED) && (SDL_JoystickGetButton(joy,PS2_R1)==SDL_PRESSED) && (SDL_JoystickGetButton(joy,PS2_L2)==SDL_PRESSED) && (SDL_JoystickGetButton(joy,PS2_R2)==SDL_PRESSED) ){ return false; } return true; } bool keybord() { SDL_PumpEvents(); Uint8 *keys = SDL_GetKeyState(NULL); printf("key--\n"); if (keys[SDLK_UP]) { pad.up += (pad.up < 2) ? 1 : 0; } else { pad.up = 0; } if (keys[SDLK_DOWN]) { pad.down += (pad.down < 2) ? 1 : 0; } else { pad.down = 0; } if (keys[SDLK_RIGHT]) { pad.right += (pad.right < 2) ? 1 : 0; } else { pad.right = 0; } if (keys[SDLK_LEFT]) { pad.left += (pad.left < 2) ? 1 : 0; } else { pad.left = 0; } if (keys[SDLK_a]) { pad.cross += (pad.cross < 2) ? 1 : 0; } else { pad.cross = 0; } if (keys[SDLK_z]) { pad.circle += (pad.circle < 2) ? 1 : 0; } else { pad.circle = 0; } if (keys[SDLK_s]) { pad.square += (pad.square < 2) ? 1 : 0; } else { pad.square = 0; } if (keys[SDLK_x]) { pad.triangle += (pad.triangle < 2) ? 1 : 0; } else { pad.triangle = 0; } if (keys[SDLK_r]) { pad.r2 += (pad.r2 < 2) ? 1 : 0; } else { pad.r2 = 0; } if (keys[SDLK_e]) { pad.r1 += (pad.r1 < 2) ? 1 : 0; } else { pad.r1 = 0; } if (keys[SDLK_w]) { pad.l1 += (pad.l1 < 2) ? 1 : 0; } else { pad.l1 = 0; } if (keys[SDLK_q]) { pad.l1 += (pad.l2 < 2) ? 1 : 0; } else { pad.l2 = 0; } // START ボタンは Return が似合う気がする //if(keys[SDLK_1]) if (keys[SDLK_RETURN]) { pad.st += (pad.st < 2) ? 1 : 0; } else { pad.st = 0; } if (keys[SDLK_2]) { pad.se += (pad.se < 2) ? 1 : 0; } else { pad.se = 0; } if (keys[SDLK_ESCAPE]) { SDL_Quit(); exit(1); //pad[0].st = 1; //pad[0].se = 1; } //SELECT, START, L1, R1, L2, R2 if ( (keys[SDLK_2]) && (keys[SDLK_RETURN]) && (keys[SDLK_w]) && (keys[SDLK_e]) && (keys[SDLK_q]) && (keys[SDLK_r]) ){ return false; } return true; }