本文整理汇总了C++中Weapon::getY方法的典型用法代码示例。如果您正苦于以下问题:C++ Weapon::getY方法的具体用法?C++ Weapon::getY怎么用?C++ Weapon::getY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Weapon
的用法示例。
在下文中一共展示了Weapon::getY方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: collideWeaponMonster
void collideWeaponMonster(Weapon w, Monster m[], Player p)
{
bool knockbackDebug = true;
float sqrt2over2 = .707;
for (int i = 0; i < numMonsters; i ++)
{
if (m[i].isLive == true)
{
if (m[i].vincible && w.isLive == true)
{
if(w.getDamageType() == bash || w.getDamageType() == stab)
{
//looking upwards
if (p.getDir() == UP)
{
//up box
if (w.getCurFrame() == 2)
{
if (bounding_box_collision( w.getX() + w.weaponOffsetX, w.getY() + w.weaponOffsetY, w.getW(), w.getLength(), m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 1;
}
}
//diagonal box
if (w.getCurFrame() == 1)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX, w.getY() + w.weaponOffsetY + (w.getLength() * (1 - sqrt2over2)), w.getLength() * sqrt2over2 , w.getLength() * sqrt2over2 , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 2;
}
}
//right box
if (w.getCurFrame() == 0)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX, w.getY() + w.weaponOffsetY + w.getLength() - w.getW(), w.getLength(), w.getW() , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 3;
}
}
}
//looking downwards
if (p.getDir() == DOWN)
{
//down box
if (w.getCurFrame() == 2)
{
if (bounding_box_collision( w.getX() + w.weaponOffsetX + w.getLength() - w.getW(), w.getY() + w.weaponOffsetY, w.getW(), w.getLength(), m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 5;
}
}
//diagonal box
if (w.getCurFrame() == 1)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX + (w.getLength() * (1 - sqrt2over2)), w.getY() + w.weaponOffsetY, w.getLength() * sqrt2over2 , w.getLength() * sqrt2over2 , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 6;
}
}
//left box
if (w.getCurFrame() == 0)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX, w.getY() + w.weaponOffsetY, w.getLength(), w.getW() , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 7;
}
}
}
//looking left
if (p.getDir() == LEFT)
{
//up box
if (w.getCurFrame() == 2)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX + w.getLength() - w.getW(), w.getY() + w.weaponOffsetY, w.getW(), w.getLength(), m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 1;
}
}
//diagonal box
if (w.getCurFrame() == 1)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX + (w.getLength() * (1 - sqrt2over2)), w.getY() + w.weaponOffsetY + (w.getLength() * (1 - sqrt2over2)), w.getLength() * sqrt2over2 , w.getLength() * sqrt2over2 , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 8;
}
}
//left box
if (w.getCurFrame() == 0)
{
if (bounding_box_collision(w.getX() + w.weaponOffsetX, w.getY() + w.weaponOffsetY + w.getLength() - w.getW(), w.getLength(), w.getW() , m[i].getX() + m[i].getBoundOffsetW() , m[i].getY() + m[i].getBoundOffsetH(), m[i].getBoundW(), m[i].getBoundH()))
{
m[i].knockbackDirection = 7;
}
}
}
//facing right
if (p.getDir() == RIGHT)
{
//.........这里部分代码省略.........