本文整理汇总了C++中Vector2D::getX方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector2D::getX方法的具体用法?C++ Vector2D::getX怎么用?C++ Vector2D::getX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector2D
的用法示例。
在下文中一共展示了Vector2D::getX方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void MenuButton::update(){
Vector2D<double>* pMousePos = InputHandler::Instance()->getMousePosition();
double zoom = Game::Instance()->getGlobalZoom();
if (pMousePos->getX() < GetParams().getX() * zoom +
GetParams().getWidth() * zoom &&
pMousePos->getX() > GetParams().getX() * zoom &&
pMousePos->getY() < GetParams().getY() * zoom +
GetParams().getHeight() * zoom &&
pMousePos->getY() > GetParams().getY() * zoom
){
GetParams().setFrame(MOUSE_OVER);
if (InputHandler::Instance()->getMouseButtonState(LEFT)){
GetParams().setFrame(MOUSE_CLICKED);
if (m_bReleased && m_callback){
m_callback();
m_bReleased = false;
}
} else{
m_bReleased = true;
}
} else {
GetParams().setFrame(MOUSE_OUT);
}
}
示例2: update
void Enemy::update() {
m_velocity.setY(5);
m_currentFrame = (int)((SDL_GetTicks() / 100) % m_numsprites);
if (isCollision())
{
if (m_velocity.getX() <= 0) {
if (flip == SDL_FLIP_NONE) {
m_velocity.setX(-m_originalVelocity.getX());
flip = SDL_FLIP_HORIZONTAL;
m_position.setX(m_position.getX() + 2);
}
else {
m_velocity.setX(m_originalVelocity.getX());
flip = SDL_FLIP_NONE;
m_position.setX(m_position.getX() - 2);
}
}
collision = false;
}
CollisionObject::update();
}
示例3: actualizar
void BotonMenu::actualizar()
{
Vector2D* pMousePos = ManejadorDeEntrada::Instancia()->getMousePosition();
if(pMousePos->getX() < (posicion.getX() + ancho) && pMousePos->getX() > posicion.getX()
&& pMousePos->getY() < (posicion.getY() + altura) && pMousePos->getY() > posicion.getY())
{
if(ManejadorDeEntrada::Instancia()->getMouseButtonState(LEFT) && bLiberado)
{
frameActual = CLICKED;
if(callback != 0)
{
callback();
}
bLiberado = false;
}
else if(!ManejadorDeEntrada::Instancia()->getMouseButtonState(LEFT))
{
bLiberado = true;
frameActual = MOUSE_OVER;
}
}
else
{
frameActual = MOUSE_OUT;
}
}
示例4: fillRegion
void GraphicsBuffer::fillRegion( const Vector2D& ul, const Vector2D& lr, const ALLEGRO_COLOR& color )
{
ALLEGRO_BITMAP* pOldTarget = GraphicsSystem::switchTargetBitmap( mpBitmap );
al_draw_filled_rectangle( ul.getX(), ul.getY(), lr.getX(), lr.getY(), color );
GraphicsSystem::switchTargetBitmap( pOldTarget );
}
示例5: overlaps
bool BoundingBox::overlaps(const Vector2D &startOfLine, const Vector2D &endOfLine) {
// FIXME: optimize me!
RectangleGeo rect( Vector2D( box.x, box.y ),
Vector2D( box.x + box.w, box.y + box.h ) );
// FIXME: optimize me!
bool overlaps = false;
overlaps = rect.isInside( endOfLine );
if ( overlaps ) return true;
overlaps = rect.isInside( startOfLine );
if ( overlaps ) return true;
// check some points between the two end points
Vector2D delta((endOfLine.getX() - startOfLine.getX()) / 4.0,
(endOfLine.getY() - startOfLine.getY()) / 4.0);
Vector2D actPoint = startOfLine + delta;
int i = 1;
while (!overlaps && i <= 3 ) {
overlaps = rect.isInside(actPoint);
actPoint += delta;
i++;
}
return overlaps;
}
示例6: update
void MenuButton::update()
{
Vector2D* pMousePos =TheInputHandler::Instance()->getMousePosition();
if (pMousePos->getX() < (m_position.getX() + m_width)
&& pMousePos->getX() > m_position.getX()
&& pMousePos->getY() < (m_position.getY()) + m_height
&& pMousePos->getY() > m_position.getY()) {
m_currentFrame = MOUSE_OVER;
if (TheInputHandler::Instance()->getMouseButtonState(LEFT)) {
//std::cout << "Mouse clicked" << std::endl;
m_currentFrame = CLICKED;
m_bReleased = false;
}
else if (!TheInputHandler::Instance()->getMouseButtonState(LEFT) && !m_bReleased)
{
//std::cout << "Mouse was released." << std::endl;
m_bReleased = true;
m_currentFrame = MOUSE_OVER;
m_callback();
}
else if (!TheInputHandler::Instance()->getMouseButtonState(LEFT))
{
//std::cout << "Mouse over" << std::endl;
m_bReleased = true;
m_currentFrame = MOUSE_OVER;
}
}
else
{
m_bReleased = true;
m_currentFrame = MOUSE_OUT;
}
}
示例7: update
void MenuButton::update()
{
Vector2D* pMousePos = TheInputHandler::Instance()->getMousePosition();
if (pMousePos->getX() < (SDL_RATIO_X(m_position.getX()) + SDL_RATIO_X(m_width)) && pMousePos->getX() > SDL_RATIO_X(m_position.getX())
&& pMousePos->getY() < (SDL_RATIO_Y(m_position.getY()) + SDL_RATIO_Y(m_height)) && pMousePos->getY() > SDL_RATIO_Y(m_position.getY()))
{
if(TheInputHandler::Instance()->getMouseButtonState(LEFT) && m_bReleased)
{
m_currentFrame = CLICKED;
if(m_callback != 0)
{
m_callback();
}
m_bReleased = false;
}
else if(!TheInputHandler::Instance()->getMouseButtonState(LEFT))
{
m_bReleased = true;
m_currentFrame = MOUSE_OVER;
}
}
else
{
m_currentFrame = MOUSE_OUT;
}
}
示例8: update
void MenuButton::update()
{
Vector2D* pMousePos = TheInputHandler::Instance()->getMousePostion();
if (pMousePos->getX() < (m_postion.getX() + m_width) &&
pMousePos->getX() > m_postion.getX() &&
pMousePos->getY() < (m_postion.getY() + m_height) &&
pMousePos->getY() > m_postion.getY())
{
m_currentFrame = MOUSEOVER;
if (TheInputHandler::Instance()->getMouseButtonState(LEFT) == true && m_bReleased)
{
m_currentFrame = CLICKED;
m_callback();
m_bReleased = false;
}
else if (TheInputHandler::Instance()->getMouseButtonState(LEFT) == false)
{
m_bReleased = true;
m_currentFrame = MOUSEOVER;
}
}
else
{
m_currentFrame = MOUSEOUT;
}
}
示例9: update
void MenuButton::update()
{
InputHandler* pIH = InputHandler::Instance();
Vector2D* pMousePos = pIH->getMousePosition();
if (pMousePos->getX() >= m_position.getX() &&
pMousePos->getX() <= m_position.getX() + m_width &&
pMousePos->getY() >= m_position.getY() &&
pMousePos->getY() <= m_position.getY() + m_height)
{
m_currentFrame = MOUSE_OVER;
if (pIH->getMouseButtonState(LEFT))
{
m_currentFrame = CLICKED;
if (m_bReleased)
{
m_callback();
m_bReleased = false;
}
}
else
{
m_bReleased = true;
}
}
else
{
m_currentFrame = MOUSE_OUT;
m_bReleased = true;
}
}
示例10: main
int main(int argc, char** argv) {
srand(time(NULL)); // seed random
std::cout << CLEAR;
// get 2 vector objects based on randomly generated 2D Vectors
Vector2D vectorA = randVector();
Vector2D vectorB = randVector();
// output Vectors to console
std::cout << "vectorA = " << vectorA.getX() << "x + " <<
vectorA.getY() << "y\n";
std::cout << "vectorB = " << vectorB.getX() << "x + " <<
vectorB.getY() << "y\n";
std::cout << "\nLAB ASSIGNMENT PART 1: VECTOR DOT PRODUCT WITH * "
<< "OPERATOR OVERLOAD\n";
std::cout << "--------------------------------------------------------"
<<"----------\n";
std::cout << "Dot product = vectorA * vectorB = " << vectorA * vectorB
<< std::endl;
// Lab part 2 - do vector addition overload with + operator
std::cout << "\nLAB ASSIGNMENT PART 2: VECTOR ADDITION WITH + "
<< "OPERATOR OVERLOAD\n";
std::cout << "-------------------------------------------------------"
<<"--------\n";
Vector2D vectorC = vectorA + vectorB;
std::cout << "Vector addition = vectorA + vectorB = " <<
(vectorC).getX() << "x + " <<
(vectorC).getY() << "y\n";
return 0;
}
示例11: isBound
bool BoundingBox::isBound(Vector2D vector)
{
if (vector.getX() < topLeft.getX())
if (vector.getX() > bottomRight.getX())
if (vector.getY() < topLeft.getY())
if (vector.getY() > bottomRight.getY())
return true;
return false;
}
示例12: setVideoMode
void VideoManager::setVideoMode(const Vector2D &size)
{
this->size = Vector2D((float)(int) size.getX(),
(float)(int) size.getY());
SDL_SetVideoMode((int) size.getX(), (int) size.getY(), 0, flags);
SDL_ShowCursor(0);
setVideoDefaults();
}
示例13: drawLine
void Painter::drawLine(Vector2D& p1, Vector2D& p2)
{
// no need to reinvent the wheel
int x1 = static_cast<int>(p1.getX());
int y1 = static_cast<int>(p1.getY());
int x2 = static_cast<int>(p2.getX());
int y2 = static_cast<int>(p2.getY());
this->drawLine(x1, y1, x2, y2, lineColor_);
}
示例14: drawRect
void Painter::drawRect(Vector2D& topleft, Vector2D& bottomright)
{
Vector2D diff = bottomright - topleft;
int x = static_cast<int>(topleft.getX());
int y = static_cast<int>(topleft.getY());
int width = static_cast<int>(diff.getX());
int height = static_cast<int>(diff.getY());
drawRect(x, y, width, height);
}
示例15: hasPoint
bool BoundingBox::hasPoint(const Vector2D &point) const
{
if(point.getX() < topLeft.getX())
return false;
if(point.getX() > bottomRight.getX())
return false;
if(point.getY() < topLeft.getY())
return false;
if(point.getY() > bottomRight.getY())
return false;
return true;
}