carnero
31.05.2012 12:23
Код такой код
bool CGameObject::CheckHit( int _x, int _y, ... )
{
<...>
int i = _y * _pattern.m_sizeX + _x;
return ( _pattern.m_bits[i >> 5] & ( 1 << ( i & 31 ) ) ) != 0;
}
_pattern.m_bits
это вектор точек объекта. сложная строчка ретурна проверяет, ткнули мы на область, содержащую отображаемые пиксели
когда у нас объект поиска отпечаток руки на фоне стены. то кликнув между пальцами — вроде бы внутри ректа текстуры, у нас не происходит выделения!
если байт пиксела, куда ткнули мышкой заальфен полностью, то не хит не засчитывается
> bool CGameObject::CheckHit( int _x, int _y, ... )
ппц