本文整理汇总了C++中CBlock::GetBlock方法的典型用法代码示例。如果您正苦于以下问题:C++ CBlock::GetBlock方法的具体用法?C++ CBlock::GetBlock怎么用?C++ CBlock::GetBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBlock
的用法示例。
在下文中一共展示了CBlock::GetBlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CheckCollision
bool CDeathPirate::CheckCollision(CBase* pBase)
{
CBase::CheckCollision( pBase );
if(pBase->GetType() == OBJ_BLOCK)
{
CBlock* BLOCK = (CBlock*)pBase;
RECT rIntersect;
//Descriptive replacement variables
RECT rMyRect = { (LONG)GetPosX(), (LONG)GetPosY(), 0, 0 };
rMyRect.right = rMyRect.left + GetWidth();
rMyRect.bottom = rMyRect.top + GetHeight();
RECT rHisRect = { (LONG)BLOCK->GetPosX(), (LONG)BLOCK->GetPosY(), 0, 0 };
rHisRect.right = rHisRect.left + BLOCK->GetWidth();
rHisRect.bottom = rHisRect.top + BLOCK->GetHeight();
if( IntersectRect( &rIntersect, &rMyRect, &rHisRect ) )
{
if( (rIntersect.right-rIntersect.left) > (rIntersect.bottom-rIntersect.top) )
{
if(BLOCK->GetBlock() == BLOCK_SOLID || BLOCK->GetBlock() == BLOCK_MOVING || BLOCK->GetBlock() == BLOCK_PARTIAL || BLOCK->GetBlock() == BLOCK_UNSTABLE)
{
if(rMyRect.bottom > rHisRect.top && rMyRect.top < rHisRect.top)
{
SetPosY( (float)rHisRect.top - GetHeight() );
SetGround(true);
SetBaseVelY(0);
SetCollision(true);
}
else if(rMyRect.top < rHisRect.bottom && rMyRect.bottom > rHisRect.top)
SetPosY((float)rHisRect.bottom);
}
else if(BLOCK->GetBlock() == BLOCK_TRAP)
{
SetGround(true);
SetCollision(true);
SetBaseVelY(0);
}
}
else if((rIntersect.right-rIntersect.left) < (rIntersect.bottom-rIntersect.top))
{
if(BLOCK->GetBlock() == BLOCK_SOLID || BLOCK->GetBlock() == BLOCK_MOVING || BLOCK->GetBlock() == BLOCK_PARTIAL)
{
}
else if(BLOCK->GetBlock() == BLOCK_TRAP)
{
SetGround(true);
SetCollision(true);
SetBaseVelY(0);
}
}
return true;
}
}
if(GetGround() && GetCollision() == false)
{
SetGround(false);
}
return false;
}