Mercurial > hg > Members > e075743
view src/Player.cpp @ 10:5727d511a13a
add src in Martial Project Xcode.
author | tokumoritaichirou@nw0743.st.ie.u-ryukyu.ac.jp |
---|---|
date | Wed, 03 Feb 2010 03:39:04 +0900 |
parents | |
children |
line wrap: on
line source
/* * Player.cpp * Martial * * Created by ryoma on 10/01/27. * Copyright 2010 琉球大学. All rights reserved. * */ #include "Player.h" void Player::registerKEH(KeyboardEventHandler* keh) { frameFunc = &Player::frameKEY; hatFlag[0] = false; hatFlag[1] = false; hatFlag[2] = false; hatFlag[3] = false; keh->addFunction('i',KeyboardEventHandler::KEY_DOWN, &Player::pushUp, this); keh->addFunction('i',KeyboardEventHandler::KEY_UP, &Player::releaseUp, this); keh->addFunction(',',KeyboardEventHandler::KEY_DOWN, &Player::pushDown, this); keh->addFunction(',',KeyboardEventHandler::KEY_UP, &Player::releaseDown, this); keh->addFunction('j',KeyboardEventHandler::KEY_DOWN, &Player::pushLeft, this); keh->addFunction('j',KeyboardEventHandler::KEY_UP, &Player::releaseLeft, this); keh->addFunction('l',KeyboardEventHandler::KEY_DOWN, &Player::pushRight, this); keh->addFunction('l',KeyboardEventHandler::KEY_UP, &Player::releaseRight, this); keh->addFunction('a',KeyboardEventHandler::KEY_DOWN, &Player::pushA, this); keh->addFunction('a',KeyboardEventHandler::KEY_UP, &Player::releaseA, this); keh->addFunction('b',KeyboardEventHandler::KEY_DOWN, &Player::pushB, this); keh->addFunction('b',KeyboardEventHandler::KEY_UP, &Player::releaseB, this); keh->addFunction('c',KeyboardEventHandler::KEY_DOWN, &Player::pushC, this); keh->addFunction('c',KeyboardEventHandler::KEY_UP, &Player::releaseC, this); keh->addFunction('d',KeyboardEventHandler::KEY_DOWN, &Player::pushD, this); keh->addFunction('d',KeyboardEventHandler::KEY_UP, &Player::releaseD, this); keh->addFunction('1',KeyboardEventHandler::KEY_DOWN, &Player::push1, this); keh->addFunction('2',KeyboardEventHandler::KEY_DOWN, &Player::push2, this); } void Player::registerJOY(SDL_Joystick* _joy) { frameFunc = &Player::frameJOY; prev = SDL_HAT_CENTERED; joy = _joy; } void Player::frame() { (this->*frameFunc)(); } void Player::frameKEY() { if (Martial::TEST::SHOW_PLAYER_INPUT) printf("[%d,%d,%d,%d]\n",hatFlag[0],hatFlag[1],hatFlag[2],hatFlag[3]); if (!(hatFlag[PUSH_UP]||hatFlag[PUSH_DOWN] ||hatFlag[PUSH_RIGHT]||hatFlag[PUSH_LEFT])) { avatar->releaseHat(); }else if (hatFlag[PUSH_RIGHT]) { if (hatFlag[PUSH_LEFT]) { avatar->releaseHat(); } else if (hatFlag[PUSH_UP]) { avatar->pushRightUp(); } else if (hatFlag[PUSH_DOWN]) { avatar->pushRightDown(); } else { avatar->pushRight(); } } else if (hatFlag[PUSH_UP]) { if (hatFlag[PUSH_LEFT]) { avatar->pushLeftUp(); } else { avatar->pushUp(); } } else if (hatFlag[PUSH_DOWN]) { if (hatFlag[PUSH_LEFT]) { avatar->pushLeftDown(); } else { avatar->pushDown(); } } else { avatar->pushLeft(); } } void Player::frameJOY() { printf("opend?, hatNums = %d\n\n", SDL_JoystickOpened(0), SDL_JoystickNumHats(joy)); SDL_JoystickUpdate(); if (SDL_JoystickGetHat(joy, SDL_HAT_CENTERED) == SDL_PRESSED) { puts("center"); if (prev != SDL_HAT_CENTERED) { avatar->releaseHat(); } } else if (SDL_JoystickGetHat(joy, SDL_HAT_UP) == SDL_PRESSED) { avatar->pushUp(); } else if (SDL_JoystickGetHat(joy, SDL_HAT_RIGHT) == SDL_PRESSED) { avatar->pushRight(); } else if (SDL_JoystickGetHat(joy, SDL_HAT_DOWN) == SDL_PRESSED) { avatar->pushDown(); } else if (SDL_JoystickGetHat(joy, SDL_HAT_LEFT) == SDL_PRESSED) { avatar->pushLeft(); } else { puts("unknown"); } } void Player::pushLeft() { hatFlag[PUSH_LEFT] = true; } void Player::releaseLeft() { hatFlag[PUSH_LEFT] = false; } void Player::pushRight() { hatFlag[PUSH_RIGHT] = true; } void Player::releaseRight() { hatFlag[PUSH_RIGHT] = false; } void Player::pushUp() { hatFlag[PUSH_UP] = true; } void Player::releaseUp() { hatFlag[PUSH_UP] = false; } void Player::pushDown() { hatFlag[PUSH_DOWN] = true; } void Player::releaseDown() { hatFlag[PUSH_DOWN] = false; } void Player::pushA() { avatar->pushA(); } void Player::releaseA() { avatar->releaseA(); } void Player::pushB() { avatar->pushB(); } void Player::releaseB() { avatar->releaseB(); } void Player::pushC() { avatar->pushC(); } void Player::releaseC() { avatar->releaseC(); } void Player::pushD() { avatar->pushD(); } void Player::releaseD() { avatar->releaseD(); } void Player::push1() { } void Player::push2() { } void Player::pushRightUp() { } void Player::pushRightDown() { } void Player::pushLeftUp() { } void Player::pushLeftDown() { } void Player::releaseHat() { } void Player::releaseButton() { }