当前位置: 首页>>代码示例>>C++>>正文


C++ Weapon::getY方法代码示例

本文整理汇总了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)
                    {
//.........这里部分代码省略.........
开发者ID:apdisant,项目名称:AllegroGameProgramming,代码行数:101,代码来源:monsters.cpp


注:本文中的Weapon::getY方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。