Mercurial > hg > Game > Cerium
view TaskManager/Test/test_render/Joystick.cpp @ 141:56db76a03294 draft
TileList を作ろうとしたがに動かない。
今はTileList 無しver
author | gongo@charles.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Sat, 29 Nov 2008 01:18:32 +0900 |
parents | 67a5469dfef2 |
children | 4f85911aa183 |
line wrap: on
line source
#include <SDL.h> #include "Joystick.h" static const int CROSS = 0; static const int CIRCLE = 1; static const int SQUARE = 2; static const int TRIANGLE = 3; static const int L1 = 4; static const int R1 = 5; static const int L2 = 6; static const int R2 = 7; static const int START = 8; static const int SELECT = 9; static const int L3 = 10; static const int R3 = 11; static const int UP = 12; static const int DOWN = 13; static const int RIGHT = 14; static const int LEFT = 15; static const int ESCAPE = 16; static const int SPACE = 17; Joystick::Joystick(SDL_Joystick *j) { joy = j; } void Joystick::check(void) { SDL_JoystickUpdate(); if (SDL_JoystickGetButton(joy,CROSS)==SDL_PRESSED) { cross.push_work(); } else { cross.release_work(); } if (SDL_JoystickGetButton(joy,CIRCLE)==SDL_PRESSED) { circle.push_work(); } else { circle.release_work(); } if (SDL_JoystickGetButton(joy,SQUARE)==SDL_PRESSED) { square.push_work(); } else { square.release_work(); } if (SDL_JoystickGetButton(joy,TRIANGLE)==SDL_PRESSED) { triangle.push_work(); } else { triangle.release_work(); } if (SDL_JoystickGetButton(joy,L1)==SDL_PRESSED) { l1.push_work(); } else { l1.release_work(); } if (SDL_JoystickGetButton(joy,R1)==SDL_PRESSED) { r1.push_work(); } else { r1.release_work(); } if (SDL_JoystickGetButton(joy,L2)==SDL_PRESSED) { l2.push_work(); } else { l2.release_work(); } if (SDL_JoystickGetButton(joy,R2)==SDL_PRESSED) { r2.push_work(); } else { r2.release_work(); } if (SDL_JoystickGetButton(joy,START)==SDL_PRESSED) { start.push_work(); } else { start.release_work(); } if (SDL_JoystickGetButton(joy,SELECT)==SDL_PRESSED) { select.push_work(); } else { select.release_work(); } if (SDL_JoystickGetButton(joy,L3)==SDL_PRESSED) { l3.push_work(); } else { l3.release_work(); } if (SDL_JoystickGetButton(joy,R3)==SDL_PRESSED) { r3.push_work(); } else { r3.release_work(); } axis = SDL_JoystickGetAxis(joy,0); if (axis >= 3200) { left.release_work(); right.push_work(); } else if (axis <= -3200) { right.release_work(); left.push_work(); } else { left.release_work(); right.release_work(); } axis = SDL_JoystickGetAxis(joy,1); if (axis>=3200) { up.release_work(); down.push_work(); } else if (axis<=-3200) { down.release_work(); up.push_work(); } else { up.release_work(); down.release_work(); } } void Joystick::close(void) { SDL_JoystickClose(joy); }