Integrated new content, Fixed Map Collision
This commit is contained in:
@ -60,9 +60,8 @@ void Map::LoadMap(std::string path, int sizeX, int sizeY, int scale)
|
||||
if (c == '1')
|
||||
{
|
||||
auto& tcol(manager.addEntity());
|
||||
tcol.addComponent<ColliderComponent>("terrain",x*scaledSize,y*scaledSize,tileSize,scale);
|
||||
tcol.addComponent<ColliderComponent>("terrain",x*scaledSize,y*scaledSize,tileSize,scale);
|
||||
tcol.addGroup(Game::groupColliders);
|
||||
mapFile.ignore();
|
||||
}
|
||||
mapFile.ignore(2,',');
|
||||
}
|
||||
|
@ -62,11 +62,12 @@ public:
|
||||
case SDLK_LEFT:
|
||||
transform->velocity.x = -1;
|
||||
// sprite->Play("Walk");
|
||||
sprite->spriteFlip = SDL_FLIP_NONE;
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
transform->velocity.x = 1;
|
||||
// sprite->Play("Walk");
|
||||
// sprite->spriteFlip = SDL_FLIP_HORIZONTAL;
|
||||
sprite->spriteFlip = SDL_FLIP_HORIZONTAL;
|
||||
break;
|
||||
case SDLK_k:
|
||||
// game->printDebug("");
|
||||
@ -88,22 +89,21 @@ public:
|
||||
{
|
||||
case SDLK_UP:
|
||||
transform->velocity.y = 0;
|
||||
// sprite->Play("Idle");
|
||||
// sprite->Play("idle");
|
||||
// sprite->spriteFlip = SDL_FLIP_NONE;
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
transform->velocity.y = 0;
|
||||
// sprite->Play("Idle");
|
||||
// sprite->Play("idle");
|
||||
// sprite->spriteFlip = SDL_FLIP_NONE;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
transform->velocity.x = 0;
|
||||
// sprite->Play("Idle");
|
||||
// sprite->Play("idle");
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
transform->velocity.x = 0;
|
||||
// sprite->Play("Idle");
|
||||
// sprite->spriteFlip = SDL_FLIP_NONE;
|
||||
// sprite->Play("idle");
|
||||
break;
|
||||
case SDLK_k:
|
||||
if (Game::debugCollisionBoxes)
|
||||
|
@ -96,11 +96,8 @@ public:
|
||||
int toFrame = cJSON_GetObjectItem(animItem, "to")->valueint;
|
||||
Animation anim = Animation(fromFrame,toFrame,100);
|
||||
animations.emplace(name, anim);
|
||||
// printf("Playing animation named: %s fromFrame:%d toFrame:%d \n",name,fromFrame,toFrame);
|
||||
Play(name);
|
||||
// printf("Animation name: \n%s\n",name);
|
||||
// printf("animation.frames: %d\n", animations[name].frames);
|
||||
// printf("animations.index: %d\n", animations[name].index);
|
||||
// printf("animations.speed: %d\n", animations[name].speed);
|
||||
}
|
||||
|
||||
// if(!animations.empty()){
|
||||
@ -108,9 +105,12 @@ public:
|
||||
// }else{
|
||||
// printf("No animations\n");
|
||||
// }
|
||||
// Play("S-Fly");
|
||||
setTex(id);
|
||||
// Play("idle");
|
||||
}
|
||||
Animation Idle = Animation(0,2,100);
|
||||
animations.emplace("Idle", Idle);
|
||||
Play("Idle");
|
||||
setTex(id);
|
||||
}
|
||||
|
||||
SpriteComponent(std::string id, SpriteType sType, char fontLetter, int letterW, int letterH, int letterScale)
|
||||
|
@ -40,9 +40,7 @@ bool Game::isRunning = false;
|
||||
|
||||
auto& player(manager.addEntity());
|
||||
|
||||
auto& enemy(manager.addEntity());
|
||||
|
||||
auto& background(manager.addEntity());
|
||||
// auto& enemy(manager.addEntity());
|
||||
|
||||
// auto& scoreboard(manager.addEntity());
|
||||
auto& uiInfo(manager.addEntity());
|
||||
@ -95,12 +93,12 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
}
|
||||
|
||||
assets->AddTexture("terrain", "assets/textures/tiles/br-tiles.png");
|
||||
assets->AddTexture("player", "assets/textures/actors/owl_anim.png");
|
||||
assets->AddTexture("player", "assets/textures/actors/firefighter.png");
|
||||
// assets->AddTexture("player", "assets/textures/actors/owl_anim.png");
|
||||
assets->AddTexture("font", "assets/textures/ui/ui-font-cloud-sans.png");
|
||||
assets->AddTexture("textBox", "assets/textures/ui/ui-element-cloud.png");
|
||||
assets->AddMusicTrack("simonZ","assets/audio/music/sailing16.ogg");
|
||||
assets->AddMusicTrack("simonZ","assets/audio/music/sillypuppy.ogg");
|
||||
assets->AddSoundClip("bwoop","assets/audio/sfx/bwoop.wav");
|
||||
assets->AddTexture("background","assets/textures/tiles/background-sky.png");
|
||||
|
||||
map = new Map("terrain",globalScale,16);
|
||||
|
||||
@ -117,18 +115,15 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
|
||||
//ecs implementation
|
||||
|
||||
map->LoadMap("assets/maps/br-map.txt",60,25, globalScale);
|
||||
map->LoadMap("assets/maps/br-map.txt",70,45, globalScale);
|
||||
|
||||
player.addComponent<TransformComponent>(50*globalScale,50*globalScale,40,40,globalScale);
|
||||
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, "assets/textures/actors/owl_anim.json");
|
||||
player.addComponent<TransformComponent>(150*globalScale,80*globalScale,22,42,globalScale);
|
||||
// player.addComponent<TransformComponent>(150*globalScale,80*globalScale,40,40,globalScale);
|
||||
player.addComponent<SpriteComponent>("player", SpriteComponent::spriteAnimation, "assets/textures/actors/firefighter.json");
|
||||
player.addComponent<KeyboardController>();
|
||||
player.addComponent<ColliderComponent>("player");
|
||||
player.addGroup(groupPlayers);
|
||||
|
||||
|
||||
background.addComponent<TransformComponent>(0*globalScale,0*globalScale,320,240,globalScale);
|
||||
background.addComponent<SpriteComponent>("background", SpriteComponent::spriteObject);
|
||||
background.addGroup(groupObjects);
|
||||
// enemy.addComponent<TransformComponent>(180*globalScale,180*globalScale,32,32,globalScale);
|
||||
// enemy.addComponent<SpriteComponent>("robber", SpriteComponent::spriteAnimation, "assets/textures/actors/robberrodent.json");
|
||||
// enemy.addGroup(groupEnemies);
|
||||
@ -144,12 +139,12 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
auto& tiles(manager.getGroup(Game::groupMap));
|
||||
auto& players(manager.getGroup(Game::groupPlayers));
|
||||
auto& colliders(manager.getGroup(Game::groupColliders));
|
||||
auto& objects(manager.getGroup(Game::groupObjects));
|
||||
auto& enemies(manager.getGroup(Game::groupEnemies));
|
||||
// auto& objects(manager.getGroup(Game::groupObjects));
|
||||
// auto& enemies(manager.getGroup(Game::groupEnemies));
|
||||
// auto& projectiles(manager.getGroup(Game::groupProjectiles));
|
||||
auto& gui(manager.getGroup(Game::groupUI_Layer0));
|
||||
auto& uiText(manager.getGroup(Game::groupUI_Layer1));
|
||||
auto& backgrounds(manager.getGroup(Game::groupBackground));
|
||||
|
||||
|
||||
void Game::handleEvents()
|
||||
{
|
||||
@ -169,11 +164,11 @@ void Game::update()
|
||||
{
|
||||
SDL_Rect playerCol = player.getComponent<ColliderComponent>().collider;
|
||||
Vector2D playerPos = player.getComponent<TransformComponent>().position;
|
||||
|
||||
|
||||
if (Mix_PlayingMusic() == 0)
|
||||
{
|
||||
// std::cout << "Play Music Now" << std::endl;
|
||||
Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
|
||||
// Mix_PlayMusic(assets->GetMusicTrack("simonZ"), -1);
|
||||
}
|
||||
|
||||
manager.refresh();
|
||||
@ -214,16 +209,6 @@ void Game::update()
|
||||
void Game::render()
|
||||
{
|
||||
SDL_RenderClear(renderer);
|
||||
|
||||
for (auto& b : backgrounds)
|
||||
{
|
||||
b->draw();
|
||||
}
|
||||
|
||||
for (auto& o : objects)
|
||||
{
|
||||
o->draw();
|
||||
}
|
||||
|
||||
for (auto& t : tiles)
|
||||
{
|
||||
@ -236,11 +221,16 @@ void Game::render()
|
||||
c->draw();
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& e : enemies)
|
||||
{
|
||||
e->draw();
|
||||
}
|
||||
|
||||
// for (auto& o : objects)
|
||||
// {
|
||||
// o->draw();
|
||||
// }
|
||||
//
|
||||
// for (auto& e : enemies)
|
||||
// {
|
||||
// e->draw();
|
||||
// }
|
||||
|
||||
for (auto& p : players)
|
||||
{
|
||||
|
Reference in New Issue
Block a user