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


C++ MoveJump函数代码示例

本文整理汇总了C++中MoveJump函数的典型用法代码示例。如果您正苦于以下问题:C++ MoveJump函数的具体用法?C++ MoveJump怎么用?C++ MoveJump使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: init

void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)
{
    //this function may make players fall below map
    if (_owner->GetTypeId() == TYPEID_PLAYER)
        return;

    float x, y, z;

    //npcbot
    if (_owner->GetTypeId() == TYPEID_UNIT && _owner->ToCreature()->IsNPCBot())
    {
        Movement::MoveSplineInit init(_owner);
        init.MoveTo(x, y, z);
        init.SetParabolic(speedZ/*max_height*/, 0);
        init.SetOrientationFixed(true);
        init.SetVelocity(speedXY);
        init.Launch();
        Mutate(new EffectMovementGenerator(0), MOTION_SLOT_CONTROLLED);
        return;
    }
    //end npcbot

    float moveTimeHalf = speedZ / Movement::gravity;
    float dist = 2 * moveTimeHalf * speedXY;
    _owner->GetClosePoint(x, y, z, _owner->GetObjectSize(), dist, angle);
    MoveJump(x, y, z, speedXY, speedZ);
}
开发者ID:fannyfinal,项目名称:LordPsyanBots,代码行数:27,代码来源:MotionMaster.cpp

示例2: MoveJump

void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ) {
	//this function may make players fall below map
	if (i_owner->GetTypeId() == TYPEID_PLAYER)
		return;

	float x, y, z;
	float dist = speedXY * speedZ * 0.1f;
	i_owner->GetClosePoint(x, y, z, i_owner->GetObjectSize(), dist, angle);
	MoveJump(x, y, z, speedXY, speedZ);
}
开发者ID:FrenchCORE,项目名称:Server,代码行数:10,代码来源:MotionMaster.cpp

示例3: MoveJump

void MotionMaster::MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ)
{
    //this function may make players fall below map
    if (i_owner->GetTypeId() == TYPEID_PLAYER)
        return;

    float x, y, z;
    float dist = speedXY * speedZ * 0.1f;
    i_owner->GetNearPoint(i_owner, x, y, z, i_owner->GetObjectSize(), dist, i_owner->GetAngle(srcX, srcY) + M_PI);
    MoveJump(x, y, z, speedXY, speedZ);
}
开发者ID:sacel,项目名称:StrawberryEMU,代码行数:11,代码来源:MotionMaster.cpp

示例4: MoveJump

void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)
{
    //this function may make players fall below map
    if (_owner->GetTypeId() == TYPEID_PLAYER)
        return;

    float x, y, z;

    float moveTimeHalf = speedZ / Movement::gravity;
    float dist = 2 * moveTimeHalf * speedXY;
    _owner->GetClosePoint(x, y, z, _owner->GetObjectSize(), dist, angle);
    MoveJump(x, y, z, speedXY, speedZ);
}
开发者ID:beyourself,项目名称:123,代码行数:13,代码来源:MotionMaster.cpp

示例5: MoveJump

void MotionMaster::MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ)
{
    //this function may make players fall below map
    if (_owner->GetTypeId() == TYPEID_PLAYER)
        return;

    float x, y, z;
    float moveTimeHalf = speedZ / Movement::gravity;
    float dist = 2 * moveTimeHalf * speedXY;

    _owner->GetNearPoint(_owner, x, y, z, _owner->GetObjectSize(), dist, _owner->GetAngle(srcX, srcY) + M_PI);
    MoveJump(x, y, z, speedXY, speedZ);
}
开发者ID:Bluedead,项目名称:SkyFireEMU,代码行数:13,代码来源:MotionMaster.cpp

示例6: MoveJump

void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)
{
    // this function may make players fall below map
    if (_owner->GetTypeId() == TYPEID_PLAYER)
        return;

    float x, y, z = _owner->GetPositionZ();

    float moveTimeHalf = speedZ / Movement::gravity;
    float dist = 2 * moveTimeHalf * speedXY;

    _owner->GetNearPoint2D(nullptr, x, y, dist, _owner->GetOrientation() + angle);
    _owner->UpdateAllowedPositionZ(x, y, z);

    MoveJump(x, y, z, 0.0f, speedXY, speedZ);
}
开发者ID:m-uu,项目名称:ElunaTrinityWotlk,代码行数:16,代码来源:MotionMaster.cpp


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