本文整理汇总了C++中sf::RectangleShape::setPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ RectangleShape::setPosition方法的具体用法?C++ RectangleShape::setPosition怎么用?C++ RectangleShape::setPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sf::RectangleShape
的用法示例。
在下文中一共展示了RectangleShape::setPosition方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gameWindow
Pong() : gameWindow(sf::VideoMode(600, 480), "Pong")
{
ball.setFillColor(sf::Color::Cyan);
ball.setPosition(100.0, 100.0);
ball.setRadius(10.f);
p1Paddle.setFillColor(sf::Color::Green);
p1Paddle.setPosition(10.0, 100.0);
p1Paddle.setSize(sf::Vector2f(10.0, 100.0));
p2Paddle.setFillColor(sf::Color::Red);
p2Paddle.setPosition(580.0, 100.0);
p2Paddle.setSize(sf::Vector2f(10.0, 100.0));
p1MovingUp = false;
p1MovingDown = false;
p2MovingUp = false;
p2MovingDown = false;
ballMovement = sf::Vector2f(ballSpeed, ballSpeed);
font.loadFromFile("arial.ttf");
p1ScoreText.setPosition(150, 10);
p1ScoreText.setFont(font);
p1ScoreText.setString(std::to_string(p1Score));
p1ScoreText.setColor(sf::Color::Red);
p1ScoreText.setCharacterSize(24);
p2ScoreText.setPosition(450, 10);
p2ScoreText.setFont(font);
p2ScoreText.setString(std::to_string(p2Score));
p2ScoreText.setColor(sf::Color::Red);
p2ScoreText.setCharacterSize(24);
}
示例2: Physic
void Physic(float time)
{
Control(time);
if (recShape->getPosition().x <= 50)
recShape->setPosition(sf::Vector2f(50, recShape->getPosition().y));
else if (recShape->getPosition().x >= 974)
recShape->setPosition(sf::Vector2f(974, recShape->getPosition().y));
}
示例3: set_square_position
//set square (user) position
void set_square_position(){
sf::Vector2f v = square.getPosition();
if(v.x < 0){
square.setPosition(0, window_y - shape_size);}
else if(v.x > window_x){
square.setPosition(window_x - shape_size, window_y - shape_size);}
}
示例4: init
void WindowCreateThing::init(sf::RenderWindow &window) {
rectTitle.setSize(sf::Vector2f(window.getSize().x*0.45, window.getSize().y*0.07));
rectTitle.setPosition(sf::Vector2f(window.getSize().x/2-(rectTitle.getSize().x/2), window.getSize().x/4-(rectTitle.getSize().y/2)));
rectTitle.setFillColor(sf::Color(158, 158, 158));
rectTitle.setOutlineColor(sf::Color::Black);
rectTitle.setOutlineThickness(1.f);
rectMain.setSize(sf::Vector2f(window.getSize().x*0.45,window.getSize().y*0.45));
rectMain.setPosition(sf::Vector2f(rectTitle.getPosition().x, rectTitle.getPosition().y+rectTitle.getSize().y));
rectMain.setFillColor(sf::Color::White);
rectMain.setOutlineColor(sf::Color::Black);
rectMain.setOutlineThickness(1.f);
load();
starting_position = sf::Mouse::getPosition(window);
textTitle.setFont(font);
textTitle.setString("CreateThings.txt");
textTitle.setCharacterSize(24);
textTitle.setColor(sf::Color::White);
textTitle.setPosition(sf::Vector2f(rectTitle.getPosition().x+rectTitle.getSize().x*0.3, rectTitle.getPosition().y+rectTitle.getSize().y*0.1));
//textTitle.setPosition(sf::Vector2f(400,10));
textClose.setFont(font);
textClose.setString("X");
textClose.setStyle(sf::Text::Bold);
textClose.setCharacterSize(35);
textClose.setColor(sf::Color::White);
textClose.setPosition(sf::Vector2f(rectTitle.getPosition().x+rectTitle.getSize().x-30, rectTitle.getPosition().y+rectTitle.getSize().y*0.05));
///// FOLDER ICONE
textureFolder.setSmooth(true);
spriteFodler.setTexture(textureFolder);
sf::Vector2f targetSize(25.0f, 25.0f);
spriteFodler.setScale(
targetSize.x / spriteFodler.getLocalBounds().width,
targetSize.y / spriteFodler.getLocalBounds().height);
spriteFodler.setPosition(sf::Vector2f(textTitle.getPosition().x-targetSize.x, textTitle.getPosition().y));
///// CLOSE ICONE
/*textureClose.setSmooth(true);
spriteClose.setTexture(textureClose);
sf::Vector2f targetSize2(window.getSize().y*0.07, window.getSize().y*0.07);
spriteClose.setScale(
targetSize2.x / spriteClose.getLocalBounds().width,
targetSize2.y / spriteClose.getLocalBounds().height);
spriteClose.setPosition(rectTitle.getPosition().x+rectTitle.getSize().x-targetSize2.x, rectTitle.getPosition().y);*/
}
示例5: GameLoop
void GameLoop()
{
while (GameRunning)
{
sf::Event Event;
while (GameWin.pollEvent(Event))
{
if (Event.type == sf::Event::Closed)
{
GameWin.close();
GameRunning = false;
}
if (Event.type == sf::Event::KeyPressed)
{
if (Event.key.code == sf::Keyboard::Escape)
{
GameWin.close();
GameRunning = false;
}
if (Event.key.code == sf::Keyboard::P && Paused == true)
{
Paused = false;
}
else if (Event.key.code == sf::Keyboard::P && Paused == false)
{
Paused = true;
}
}
if (Event.type == sf::Event::KeyReleased)
{
}
}
if(!Paused)
World->Step(timeStep, velIter, posIter);
b2Vec2 pos = Body->GetPosition();
float angle = Body->GetAngle();
box.setPosition(pos.x, pos.y);
box.setRotation(angle);
b2Vec2 pos2 = Body2->GetPosition();
float angle2 = Body2->GetAngle();
box2.setPosition(pos2.x, pos2.y);
box2.setRotation(angle2);
DrawGame();
}
}
示例6: handle
void handle () {
rotate();
float percentageHealth = float((Health/MaxHealth) * 100);
HealthBarGreen.setSize(sf::Vector2f(percentageHealth * (HealthBarSize / percentageHealth), 5));
NameOutline.setPosition(Sprite.getPosition().x + 1.5, Sprite.getPosition().y + nameSpacing + 4);
PlayerName.setPosition(Sprite.getPosition().x, Sprite.getPosition().y + nameSpacing);
HealthBarRed.setPosition(Sprite.getPosition().x - (CharacterWidth/2) - 5, Sprite.getPosition().y + healthBarSpacing);
HealthBarGreen.setPosition(Sprite.getPosition().x - (CharacterWidth/2) - 5, Sprite.getPosition().y + healthBarSpacing);
}
示例7: draw
void Sprited::draw(sf::RenderWindow *window)
{
// Scroll sprite
sf::Vector2i shift = this->currentAnimation->frames[this->currentFrame];
this->sprite.setTextureRect(sf::IntRect(shift.x, shift.y, this->width, this->height));
this->sprite.setRotation((this->getWRotation() - this->camera->getWRotation()) / (2 * M_PI) * 360); // + this->wRotation / (2 * M_PI) * 360);
if (this->camera) {
// Transform sprite wPosition based on camera wPosition & wRotation
this->sprite.setPosition(this->applyCameraTransformation(this->getWPosition()));
} else {
// No camera set, meaning this object's wPosition is not affected by camera.
this->sprite.setPosition(this->getWPosition().x, this->getWPosition().y);
}
window->draw(this->sprite);
Movable::draw(window);
#ifdef DEBUG
static sf::RectangleShape origin;
origin.setOrigin(2, 2);
origin.setSize(sf::Vector2f(5, 5));
origin.setPosition(this->sprite.getPosition());
origin.setFillColor(sf::Color(255, 0, 0, 128));
window->draw(origin);
static sf::RectangleShape rect;
rect.setFillColor(sf::Color::Transparent);
rect.setOutlineThickness(1);
rect.setOutlineColor(sf::Color::Blue);
rect.setOrigin(this->sprite.getOrigin());
rect.setPosition(this->sprite.getPosition());
rect.setRotation(this->sprite.getRotation());
rect.setSize(sf::Vector2f(this->sprite.getTextureRect().width, this->sprite.getTextureRect().height));
window->draw(rect);
sf::FloatRect wHitbox = this->getWHitbox();
static sf::RectangleShape hitboxRect;
hitboxRect.setFillColor(sf::Color::Transparent);
hitboxRect.setOutlineThickness(1);
hitboxRect.setOutlineColor(sf::Color::Red);
hitboxRect.setOrigin(sf::Vector2f(wHitbox.width / 2, wHitbox.height / 2));
hitboxRect.setSize(sf::Vector2f(wHitbox.width, wHitbox.height));
hitboxRect.setPosition(this->applyCameraTransformation(this->getWPosition()));
hitboxRect.setRotation(-this->camera->getWRotation() / M_PI * 180);
window->draw(hitboxRect);
#endif
}
示例8: el
el(sf::Vector2f p)
{
r.setSize(sf::Vector2f(50,50));
r.setFillColor(sf::Color(2,136,209));
pos = p;
r.setPosition(pos);
}
示例9: obstacle
obstacle(sf::Vector2f p)
{
pos = p;
r.setPosition(p);
r.setSize(sf::Vector2f(50,50));
r.setFillColor(sf::Color(255, 205, 210));
}
示例10: setUpBall
void PongGame::setUpBall(int const mainWindowWidth, int const mainWindowHeight, sf::RectangleShape &ball) {
ball.setPosition(mainWindowWidth / 2, mainWindowHeight / 2);
ball.setSize(sf::Vector2f(20, 20));
ball.setFillColor(sf::Color::Red);
ball.setOutlineColor(sf::Color::Yellow);
ball.setOutlineThickness(2);
}
示例11: exibeHud
/*
* Mostra na tela os indicadores básicos do jogo:
* vidas restantes, HP e pontuação.
*/
void Jogo::exibeHud()
{
float x = 0.10 * janela.getSize().x;
float y = 0.15 * janela.getSize().y;
/* Desenha vidas extras da nave */
static sf::CircleShape losango(20.0, 4);
for (int i = 0; i < nave->getVidas(); i++) {
double deltaX = 2.5 * losango.getRadius();
losango.setPosition(x + (i * deltaX), y);
janela.draw(losango);
}
/* Desenha caixa da lifebar */
y += 3.0 * losango.getRadius();
static sf::RectangleShape caixa({200.0, 10.0});
caixa.setPosition(x, y);
caixa.setFillColor(sf::Color::Blue);
janela.draw(caixa);
/* Desenha lifebar com parcial do HP */
float k = (float) nave->getHP() / nave->getHPMax();
sf::RectangleShape lifebar({k * caixa.getSize().x,
caixa.getSize().y});
lifebar.setPosition(x, y);
lifebar.setFillColor(k > 0.25 ? sf::Color::Green : sf::Color::Red);
janela.draw(lifebar);
/* Imprime pontuação (e, se for o caso, mensagem de pausa) */
y += 2.5 * lifebar.getSize().y;
sf::String str = "Score: " + std::to_string(nave->getScore());
if (pausado) str += " (pausa)";
sf::Text texto(str, fonte, 20);
texto.setPosition(x, y);
janela.draw(texto);
}
示例12: Paddle
// As with the ball, we construct the paddle with
// arguments for the initial position and initialize
// the SFML rectangle shape.
Paddle(float mX, float mY)
{
shape.setPosition(mX, mY);
shape.setSize({defWidth, defHeight});
shape.setFillColor(defColor);
shape.setOrigin(defWidth / 2.f, defHeight / 2.f);
}
示例13: Board
Board(int n, sf::Vector2f pos){
boardSprite.setSize(sf::Vector2f(n, 2));
boardSprite.setFillColor(sf::Color::Blue);
boardSprite.setPosition(pos);
}
示例14: Control
void Control(float time)
{
/*if (event.type == sf::Event::KeyPressed)
{
if (event.key.code == sf::Keyboard::A || event.key.code == sf::Keyboard::Left)
recShape->setPosition(sf::Vector2f(recShape->getPosition().x - 10. * time, recShape->getPosition().y));
else if (event.key.code == sf::Keyboard::D || event.key.code == sf::Keyboard::Right)
recShape->setPosition(sf::Vector2f(recShape->getPosition().x + 10. * time, recShape->getPosition().y));
std::cout << "press";
}*/
if (sf::Keyboard::isKeyPressed(sf::Keyboard::A) || sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
recShape->setPosition(sf::Vector2f(recShape->getPosition().x - 0.5 * time, recShape->getPosition().y));
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::D) || sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
recShape->setPosition(sf::Vector2f(recShape->getPosition().x + 0.5 * time, recShape->getPosition().y));
}
示例15: main
int main() {
sgb::Chip8 chip8;
chip8.loadGame("PONG2");
back.create(64, 32, sf::Color::Black);
backshape.setPosition(0, 0);
backtext.loadFromImage(back);
backshape.setTexture(&backtext);
while(window.isOpen()){
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
// emulate one cycle
chip8.emulateCycle();
// if drawflag is set, update screen;
if (chip8.drawFlag)
updateGraphics(chip8);
//query keys
chip8.setKeys();
sf::sleep(sf::seconds(1.0f/500.0f));
}
return 0;
}