코드
#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