Example #1
0
void		AAction::loadBones()
{
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::FOOT1], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::FOOT2], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::HAND1], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::HAND2], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::ELBOW1], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::ELBOW2], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::KNEE1], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::KNEE2], _player.orient()));
  _hb.push_back(Hitbox(16, Position(), _bones[Bones::HEAD], _player.orient()));
  _hb.push_back(Hitbox(5, Position(), _bones[Bones::BODY], _player.orient()));
}
Example #2
0
Character::Character(int xpos, int ypos, std::string name) {
    std::cout << "Character." << std::endl;
    this->name = name;
    position = sf::Vector2f(xpos,ypos);
    speed = 0;
    hitbox = Hitbox(position.x+6,position.y+(CHARA_SPRITE_H/2), CHARA_SPRITE_W-14,CHARA_SPRITE_H/2-6);
}
Example #3
0
bool Character::verifyMove(direction d, Hitbox *h) {
    Hitbox next_move;
    float next_speed = (WALKING_SPEED*dt.asSeconds());
    switch (d){
        case DOWN :
            next_move = Hitbox(hitbox.getPosition().x, hitbox.getPosition().y+next_speed,hitbox.get_size());
            return h->collision(next_move);
        case LEFT :
            next_move = Hitbox(hitbox.getPosition().x-next_speed, hitbox.getPosition().y,hitbox.get_size());
            return h->collision(next_move);
        case UP :
            next_move = Hitbox(hitbox.getPosition().x, hitbox.getPosition().y-next_speed,hitbox.get_size());
            return h->collision(next_move);
        case RIGHT :
            next_move = Hitbox(hitbox.getPosition().x+next_speed, hitbox.getPosition().y,hitbox.get_size());
            return h->collision(next_move);
    }
    return false;
}
Example #4
0
CollTestBox::CollTestBox(double x, double y) : TextureSprite("images/dev/colltestbox.png")
{
	setNumberOfAnimations(2);
	setSpriteFrameSize(600,50);
	addSpriteAnimFrame(0,0,0);
	addSpriteAnimFrame(1,200,0);
	setCurrentAnimation(0);
	setPosition(x, y);
	setLayerID(1);

	hitbox = Hitbox(0, 0, 600, 50);
}
Example #5
0
Robert::Robert(double x, double y) : PhysicsSprite("images/spr_robert.png")
{
	setPosition(x, y);

	// animations:
	// 0 - standing
	// 1 - walking
	// 2 - attacking
	// 3 - get hit

	// ANIMATION SETUP //
	setNumberOfAnimations(4);
	setSpriteFrameSize(128,128);

	addSpriteAnimRow(0, 0, 256, 128, 0, 1); // standing animation - 0
	setAnimationSpeed(0, 0.1);

	addSpriteAnimRow(1, 0, 384, 128, 0, 4); // walking animation - 1
	setAnimationSpeed(1, 0.25);

	addSpriteAnimRow(2, 0, 128, 128, 0, 5); // attacking animation - 2
	setAnimationSpeed(2, 0.25);
	setAnimationLoop(2, false);

	addSpriteAnimRow(3, 0, 0, 128, 0, 2); // hit animation - 3
	setAnimationSpeed(3, 0.1);
	setAnimationLoop(3, false);

	setCurrentAnimation(0);

	// PHYSICAL PROPERTIES //
	mass = 50;
	airDrag = 0.1;
	groundFriction = 0.75;
	// (airGroundFriction and gravity are left to defaults)

	hitbox = Hitbox(40, 0, 48, 117);
	setCenter(64, 58);

	health = 3;

	// BEHAVIORAL STATE VARIABLE(S) //
	walking = false;
	attacking = false;
	gotHit = false;
	thrown = false;
	willAttack = false;
}
Example #6
0
//-----------------------------------------------------------------------------
// Exports mstudiobbox_t.
//-----------------------------------------------------------------------------
void export_hitbox(scope _studio)
{
    class_<mstudiobbox_t, mstudiobbox_t *, boost::noncopyable> Hitbox("Hitbox");

    // Properties...
    Hitbox.add_property("name", &mstudiobbox_t::pszHitboxName);

    Hitbox.def_readwrite("bone", &mstudiobbox_t::bone);
    Hitbox.def_readwrite("group", &mstudiobbox_t::group);

    Hitbox.add_property("min", make_getter(&mstudiobbox_t::bbmin, reference_existing_object_policy()));
    Hitbox.add_property("max", make_getter(&mstudiobbox_t::bbmax, reference_existing_object_policy()));

    // Add memory tools...
    Hitbox ADD_MEM_TOOLS(mstudiobbox_t);
}
Example #7
0
BoxBot::BoxBot(double x, double y) : PhysicsSprite("images/spr_boxbot.png")
{
	setPosition(x, y);

	// animations:
	// 0 - standing
	// 1 - walking
	// 2 - attacking
	// 3 - get hit

	// ANIMATION SETUP //
	setNumberOfAnimations(4);
	setSpriteFrameSize(128,128);

	addSpriteAnimRow(0, 0, 0, 128, 0, 1); // standing animation - 0
	setAnimationSpeed(0, 0.1);

	addSpriteAnimRow(1, 0, 384, 128, 0, 2); // walking animation - 1
	setAnimationSpeed(1, 0.1);

	addSpriteAnimRow(2, 0, 128, 128, 0, 7); // attacking animation - 2
	setAnimationSpeed(2, 0.25);
	setAnimationLoop(2, false);

	addSpriteAnimRow(3, 0, 256, 128, 0, 2); // hit animation - 3
	setAnimationSpeed(3, 0.1);
	setAnimationLoop(3, false);

	setCurrentAnimation(1);

	// PHYSICAL PROPERTIES //
	mass = 50;
	airDrag = 0.1;
	groundFriction = 0.75;
	// (airGroundFriction and gravity are left to defaults)

	hitbox = Hitbox(44, 0, 30, 110);
	setCenter(35, 54);

	// BEHAVIORAL STATE VARIABLE(S) //
	walking = true;
}
Example #8
0
//Gets a vector of hitboxes
std::vector<Hitbox> lua_get_hitboxes_from_table(lua_State *L, const std::string& key){
  lua_pushstring(L,key.c_str());
  lua_gettable(L,-2);
  std::vector<Hitbox> outp;
   if(!lua_istable(L, -1)) {
        luaL_error(L, "Not a table: %s", key.c_str());
    }
    lua_pushnil(L);
    int x,y,r;
    
     while(lua_next(L, -2)) {
      x = lua_get_float_from_table(L, "x");
      y = lua_get_float_from_table(L, "y");
      r = lua_get_float_from_table(L, "r");
      outp.push_back(Hitbox(x,y,r));
      lua_pop(L, 1);
     }
  lua_pop(L, 1);
    return outp;
}
Example #9
0
Hitbox PShot::hitbox() {
       return Hitbox(x-offsetx,x+offsetx,y-offsety,y+offsety);
}
Example #10
0
Hitbox Bomb::hitbox() {
       return Hitbox(x-offsetx,x+offsetx,y-offsety,y+offsety);
}
Example #11
0
Hitbox Bracket::getHitbox() const {
   return Hitbox(info.position, info.position + sf::Vector2f(51,-40));
}
Example #12
0
Hitbox Explosion::getHitbox() const {
    return Hitbox( info.position + sf::Vector2f(10, -10), info.position + sf::Vector2f(sd.dimensions.x, -sd.dimensions.y) + sf::Vector2f(-10, 10));
}
Example #13
0
// TODO: Usunac blad wysrodkowywania hitboxa => usunax hitboxOffset
Hitbox Player::getHitbox() const {
	// square 22*22 centered on player -- to be placed somewhere else.
	return Hitbox(position + sf::Vector2f(-11,-11) + hitboxOffset, position + sf::Vector2f(11,11) + hitboxOffset);
}
Example #14
0
Hitbox Player::ihitbox() {
       return Hitbox(x-icrad,x+icrad,y-icrad,y+icrad);
}
Example #15
0
Hitbox Player::hitbox() {
       return Hitbox(x-hbrad,x+hbrad,y-hbrad,y+hbrad);
}
Example #16
0
BasicEnemy::BasicEnemy(double x_pos, double y_pos, double x_vel, double y_vel)
    : GameObject(x_pos, y_pos, x_vel, y_vel)
    , hitbox_(Hitbox(x_pos_, y_pos_, 90, 50)) {
}