krrice

Members
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

120 Neutral

About krrice

  • Rank
    Newbie
  1. Need help with C++

    I would recommend these tutorials. To me they would be easier to learn and make a game in the time frame you have. Part 5 begins an actual full game the first parts get you use to the framework.   http://fixbyproximity.com/2d-game-development-course/
  2. Error when destroying bitmap images

      Thanks , it makes sense now. So at the end of main I need to delete the image like:       delete paddle;     delete ball;     al_destroy_bitmap(brickImage);     //SHELL OBJECTS=================================     al_destroy_font(font18);     al_destroy_timer(timer);     al_destroy_event_queue(event_queue);     al_destroy_display(display);     return 0; }   But don' I need to do something in the class for the bitmap pointers I create for each brick;   Brick::Brick(ALLEGRO_BITMAP *image,int x,int y, ALLEGRO_COLOR tint) {     width = al_get_bitmap_width(image);     height = al_get_bitmap_height(image);     this->image = image;     this->x = x;     this->y = y;     this->tint = tint;     alive = true; }
  3. Error when destroying bitmap images

      My Brick Destructor is empty.
  4. hey everyone, I am getting arror that I can't figure out. I am making a breakout clone and my error is when i exit the game. The error is   Unhandled exception at 0x56c807e5,Access violation reading location 0xfeef001a     /*          * The /GS security cookie must be initialized before any exception          * handling targetting the current image is registered.  No function          * using exception handling can be called in the current image until          * after __security_init_cookie has been called.          */         __security_init_cookie();         return __tmainCRTStartup(); }   I know it has something to do with destroying the bitmap images for my bricks because I can comment out the destroy bitmap code and no errors .   in main this is the code for generating the bricks:   for(int x = 0; x < bricksWide; x++)         {             Brick *brick = new Brick(brickImage, x * al_get_bitmap_width(brickImage), y * al_get_bitmap_height(brickImage), tint);             brickObj.push_back(brick);         }   and at the end of main this is the code for destroying the bitmaps:   for(iter = brickObj.begin(); iter != brickObj.end(); )     {         (*iter)->Destroy();         delete (*iter);         iter = brickObj.erase(iter);     }   and my Destroy() function in my Brick class is:   void Brick::Destroy() {     if(image != NULL)         al_destroy_bitmap(image); }    
  5. Beginning Directx

    Hi everyone, I want to start learning DirectX. So I purchased Introduction to 3D Game Programming with DirectX 11 by Frank Luna. Well I guess my laptops video card (Radeon HD 4250) doesn't fully support the code in the book. So i was wondering if I started learning DirectX 9 will what I learn transfer to 11 or will I be wasting my time? I plan on getting a new Laptop/PC soon but it will probably be a while.
  6. Tile Map Collision

      This is how i am using it for the moment. I have a MapLoader class that sends the Collision map, which is a vector of vectors to the Player class. In the Players Update that is where the for statement is. I am just using the collided variable for testing right now. In main.cpp I have a text function displaying the collided varible and its value.So when ever I move over the tiles that are twos it will show 1 and if not 0.    Here is Player.cpp   #include "Player.h" Player::Player() {} void Player::Destroy() { GameObject::Destroy(); } void Player::Init(MapLoader *colMap,ALLEGRO_BITMAP *image = NULL) { GameObject::Init(672, 554, 6, 6, 0, 0, 19, 15 ); SetID(PLAYER); SetAlive(true); collided = false; map = colMap->GetColMap(); lives = 3; score = 0; maxFrame = 4; curFrame = 0; frameDelay = 3; frameWidth = 36; frameHeight = 72; animationColumns = 4; animationDirection = 1; animationRow = 2; if(image != NULL) Player::image = image; } void Player::Update() { GameObject::Update(); if(x - boundX < 0) x = boundX; else if(x + boundX > WIDTH) x = WIDTH - boundX; if(y < 0) y = 0; else if(y > HEIGHT) y = HEIGHT; //Collision for(int i = 0; i < map.size(); i++) { for(int j = 0; j < map[i].size(); j++) { if(map[i][j] == 2) { if(x + 24 > j * 24 && x < (j * 24) + 24 && y + 24 > i * 24 && y < (i * 24) + 24 ) { collided = true; } else collided = false; } } } if(++frameCount >= frameDelay) { if(curFrame > 4) curFrame = 0; fx = (curFrame % animationColumns) * frameWidth; fy = animationRow * frameHeight; frameCount = 0; } } void Player::Render() { GameObject::Render(); //al_draw_rectangle(x + boundX,y + boundY,x - boundX,y - boundY,al_map_rgb(0,255,0),5); al_draw_bitmap_region(image, fx, fy, frameWidth, frameHeight, x - frameWidth / 2, y - frameHeight / 2, 0); } void Player::MoveUp() { animationRow = 3; curFrame++; dirY = -1; } void Player::MoveDown() { animationRow = 0; curFrame++; dirY = 1; } void Player::MoveLeft() { animationRow = 1; curFrame++; dirX = -1; } void Player::MoveRight() { animationRow = 2; curFrame++; dirX = 1; } void Player::ResetAnimation(int position) { if(position == 1) { dirY = 0; } else { dirX = 0; } } void Player::Collided(int objectID) { if(objectID == ENEMY) al_draw_rectangle(x + boundX,y + boundY,x - boundX,y - boundY,al_map_rgb(0,255,0),5); //lives++; }
  7. Hi everyone , I have this collision code and it gets updated at 60FPS. When I run the game it only has collision with the last 2 in the tile map. i can't seem to figure out what is wrong.Any info will be appriciated.     Update Code   for(int i = 0; i < map.size(); i++) { for(int j = 0; j < map[i].size(); j++) { if(map[i][j] == 2) { if(x + 24 > j * 24 && x < (j * 24) + 24 && y + 24 > i * 24 && y < (i * 24) + 24 ) { collided = true; } else { collided = false; } } } } Tile Map 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0