本文整理汇总了C++中Vector2D::getY方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector2D::getY方法的具体用法?C++ Vector2D::getY怎么用?C++ Vector2D::getY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector2D
的用法示例。
在下文中一共展示了Vector2D::getY方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}
}
示例2: 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;
}
示例3: 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 );
}
示例4: 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;
}
}
示例5: 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);
}
}
示例6: 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;
}
示例7: 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;
}
示例8: 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();
}
示例9: 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_);
}
示例10: GenerateItemNow
void Items::GenerateItemNow( Vector2D pos, Vector2D vel )
{
if( pos.getX() < 10 ) pos.setX( 10.f );
if( pos.getX() > m_iScreenWidth-10 ) pos.setX( m_iScreenWidth-10.f );
if( pos.getY() < 100 && vel.getY() < 5 ) vel.setY( 5 );
int itemType = GetRandValue( ITEM_APPEAR_CHANCES, NR_ITEM_TYPES );
Item *item = new Item( pos, vel, (ItemTypes)itemType, m_iItemLifeTime, m_iScreenWidth );
AddItem( item );
}
示例11: 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);
}
示例12: 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;
}
示例13: renderFeedback
void TripleAntenna::renderFeedback(Object *object, Environment *environment) {
if (object == environment->getPlayer() && nearestObject) {
if (nearestObject->isVisible()) {
Vector2D windowPos = environment->getWindowPos(object->getPosition());
Vector2D objectWindowPos = environment->getWindowPos(nearestObjectPosition);
al_draw_line(windowPos.getX(),
windowPos.getY(),
objectWindowPos.getX(),
objectWindowPos.getY(),
al_map_rgb(196, 196, 196), 2.0);
}
}
}
示例14: AABBtoAABB
bool Collision::AABBtoAABB(Box &a, Box &b, Vector2D &Nnormal)
{
ManifoldAABBtoAABB m;
//!Min and max collision. Checks if the two boxes have collided.
Vector2D centreDist = b.getPosition().subtract(a.getPosition());
//! Overlapping in X.
float xLap =a.getWidth()/2 + b.getWidth()/2 - std::abs(centreDist.getX());
float yLap = a.getHeight()/2 + b.getHeight()/2 - std::abs(centreDist.getY());
//! Overlapping in Y.
if(xLap > 0)
{
if (yLap > 0)
{
if (xLap > yLap)
{
if(centreDist.getY() < 0)
{
normal.setXandY(0,-1);//!< Collides Top of A with bottom of B
}
else
{
normal.setXandY(0,1);//!< Collides Bottom of box A with top of box B
}
penetrationDepth = yLap;//!< Sets the penetration depth according to the collision
}
else
{
//point normal towards b as n is from A to B on y axis
if(centreDist.getX() < 0)
{
normal.setXandY(1,0);//!< Collides Left of box A with Right of Box B
}
else
{
normal.setXandY(-1,0);//!< Collides Right of box A with Left of Box B
}
penetrationDepth = xLap;//!< Sets the penetration depth
}
}
else{ return false;}
}
else{ return false;}
Nnormal = normal;//!< return the normal. To use for enemies.
return true;
}
示例15:
BoundingBox::BoundingBox(vector<Vector2D> *points)
{
MathManager *mathManager = MathManager::getInstance();
if(points->size() >= 2) {
vector<Vector2D>::iterator iterator = points->begin();
Vector2D first = *iterator;
iterator++;
Vector2D second = *iterator;
topLeft = Vector2D(mathManager->min<float>(first.getX(),
second.getX()),
mathManager->min<float>(first.getY(), second.getY()));
bottomRight = Vector2D(mathManager->max<float>(
first.getX(), second.getX()),
mathManager->max<float>(first.getY(), second.getY()));
/* Expand. */
for(iterator = points->begin(); iterator != points->end();
iterator++) {
Vector2D point = *iterator;
if(point.getX() < topLeft.getX())
topLeft.setX(point.getX());
if(point.getX() > bottomRight.getX())
bottomRight.setX(point.getX());
if(point.getY() < topLeft.getY())
topLeft.setY(point.getY());
if(point.getY() > bottomRight.getY())
bottomRight.setY(point.getY());
}
} else {
LogManager::getInstance()->warning(
"Boundingbox based on < 2 points.");
}
}