less than 1 minute read

코드

#include <SFML/Graphics.hpp>
#include <iostream>

int main()
{
    // 윈도우 생성
    sf::RenderWindow window(sf::VideoMode(512, 512), "SFML TUTORIAL", sf::Style::Close | sf::Style::Resize);

    // 캐릭터 객체 생성
    sf::RectangleShape player(sf::Vector2f(100.0f, 100.0f));
    player.setFillColor(sf::Color::Magenta); // 캐릭터 색상을 설정합니다.
    player.setOrigin(50.0f, 50.f); // 캐릭터의 중심점을 설정합니다. 중심점이 설정되면 좌표 지정시 캐릭터가 중심점을 기준으로 움직입니다.

    while (window.isOpen()) // 윈도우가 열려있는 동안
    {
        sf::Event evnt;
        while (window.pollEvent(evnt)) // 이벤트 처리
        {
            switch (evnt.type)
            {
            case sf::Event::Closed: // 윈도우 닫기 버튼 클릭시
                window.close(); // 윈도우 닫기
                break;
            }
        }

        if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) // 마우스 왼쪽 버튼이 눌렸을 때
        {
            sf::Vector2i mousePos = sf::Mouse::getPosition(window); // 마우스 위치 가져오기
            player.setPosition((float)mousePos.x, (float)mousePos.y); // 캐릭터 위치 변경
        }

        window.clear(sf::Color::Yellow); // 화면 지우기
        window.draw(player); // 캐릭터 그리기
        window.display(); // 화면 업데이트
    }

    return 0;
}

Leave a comment