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


C++ Being::getSpeed方法代码示例

本文整理汇总了C++中Being::getSpeed方法的典型用法代码示例。如果您正苦于以下问题:C++ Being::getSpeed方法的具体用法?C++ Being::getSpeed怎么用?C++ Being::getSpeed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Being的用法示例。


在下文中一共展示了Being::getSpeed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: informPlayer


//.........这里部分代码省略.........
                enterMsg.writeString(q->getName());
            }
            break;

            case OBJECT_NPC:
            {
                NPC *q = static_cast< NPC * >(o);
                enterMsg.writeShort(q->getNPC());
                enterMsg.writeString(q->getName());
            }
            break;

            default:
                assert(false); // TODO
            }
            gameHandler->sendTo(p, enterMsg);
        }

        if (opos != oold)
        {
            flags |= MOVING_POSITION;
        }

        // Send move messages.
        moveMsg.writeShort(oid);
        moveMsg.writeByte(flags);
        if (flags & MOVING_POSITION)
        {
            moveMsg.writeShort(opos.x);
            moveMsg.writeShort(opos.y);
            // We multiply the sent speed (in tiles per second) by ten
            // to get it within a byte with decimal precision.
            // For instance, a value of 4.5 will be sent as 45.
            moveMsg.writeByte((unsigned short) (o->getSpeed() * 10));
        }
    }

    // Do not send a packet if nothing happened in p's range.
    if (moveMsg.getLength() > 2)
        gameHandler->sendTo(p, moveMsg);

    if (damageMsg.getLength() > 2)
        gameHandler->sendTo(p, damageMsg);

    // Inform client about status change.
    p->sendStatus();

    // Inform client about health change of party members
    for (CharacterIterator i(map->getWholeMapIterator()); i; ++i)
    {
        Character *c = *i;

        // Make sure its not the same character
        if (c == p)
            continue;

        // make sure they are in the same party
        if (c->getParty() == p->getParty())
        {
            int cflags = c->getUpdateFlags();
            if (cflags & UPDATEFLAG_HEALTHCHANGE)
            {
                MessageOut healthMsg(GPMSG_BEING_HEALTH_CHANGE);
                healthMsg.writeShort(c->getPublicID());
                healthMsg.writeShort(c->getHealth());
                gameHandler->sendTo(p, healthMsg);
开发者ID:Ablu,项目名称:invertika,代码行数:67,代码来源:state.cpp


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