cpp
/*################################################# # 初期化 ###################################################*/ Game::Game(SDL_Renderer *ren){ render = ren; sprite = LoadImage("ast/piece.png"); position = glm::ivec2(CELL* 20, CELL * 20); //std::cout<<CELL<<std::endl; range.push_back(PlayerRange{glm::ivec2(position.x,position.y + CELL * 0),glm::ivec2(0,0),glm::ivec2(0,0),ObjectType::Player}); range.push_back(PlayerRange{glm::ivec2(position.x,position.y + CELL * 1),glm::ivec2(0,0),glm::ivec2(0,0),ObjectType::PlayerRange}); range.push_back(PlayerRange{glm::ivec2(position.x,position.y + CELL * 2),glm::ivec2(0,0),glm::ivec2(0,0),ObjectType::PlayerRange}); range.push_back(PlayerRange{glm::ivec2(position.x,position.y + CELL * 3),glm::ivec2(0,0),glm::ivec2(0,0),ObjectType::PlayerRange}); } /*################################################# # キー入力 ###################################################*/ void Game::Move(){ if(keyInput == KeyCode::Left) { moveVector.x = -1; moveVector.y = 0; } else if(keyInput == KeyCode::Right) { moveVector.x = 1; moveVector.y = 0; } else if(keyInput == KeyCode::Up) { moveVector.x = 0; moveVector.y = -1; } else if(keyInput == KeyCode::Down) { moveVector.x = 0; moveVector.y = 1; } frame++; if(frame > moveFrame) { range.at(0).vector = moveVector; if( (range.at(0).vector != glm::ivec2(0,0)) && (range.at(0).prevVector != glm::ivec2(0,0))) { range.at(0).position += range.at(0).vector * CELL; range.at(1).vector = range.at(0).prevVector; range.at(1).position += range.at(1).vector * CELL; } range.at(0).prevVector = moveVector; frame = 0; }}

0 コメント