영넌 개발로그
[SFML] 도형 그리기, 도형 움직이기 / 이벤트 처리 / 키보드 입력 본문
Color class
Black, White, Red, Green, Blue, Yellow, Magenta(분홍), Cyan(하늘), Transparent(투명)
CircleShape shape(radius, pointCount);
radius : 반지름
pointCount : 원을 그릴 때 삼각형을 여러개 모아서 원을 만든다. 그 개수를 입력 (생략 가능)
CircleShape shape(50.0f);
shape.setFillColor(Color::Green);
CircleShape::setPosition(float x, float y)
x,y의 좌표 설정 (default : 0,0)
원의 중앙 좌표가 아닌 좌상단의 좌표를 설정하는 것
CircleShape shape(50.0f);
shape.setFillColor(Color::Green);
shape.setPosition(320.0f-50, 240.0f-50);
RectangleShape 는 Vector2f type을 가짐
Vector2f 는 Vector2<float>를 의미함 x크기, y크기를 주면 만들어 질 수 있음
RectangleShape myRect(Vector2f(30.0f, 10.0f));
myRect.setFillColor(Color::Cyan);
myRect.setPosition(30.0f, 30.0f);
KeyPressed
키가 눌렸는지를 판단하는 event 타입
isKeyPressed
어떤 키가 눌렸는지를 판단해주는 메소드
CircleShape::move(float offset_x, float offset_y)
x방향으로 움직이게, y방향으로 움직이는 메소드
공이 왼, 오로 움직이는 영상>
코드>
Event event;
while (window.pollEvent(event)) {
switch (event.type) {
case Event::Closed:
window.close();
break;
case Event::KeyPressed:
if (Keyboard::isKeyPressed(Keyboard::Left) == true)
{
shape.move(-10.0f, 0.0f);
}
else if (Keyboard::isKeyPressed(Keyboard::Right) == true) {
shape.move(10.0f, 0.0f);
}
break;
default:
break;
}
}
'코딩 > C++' 카테고리의 다른 글
[C++ 기초] 포인터 Pointer / Smart Pointer / this / const pointer (0) | 2020.12.04 |
---|---|
[SFML] 도형 그리기 class로 만들기 (색, 위치, 스피드 다르게 변경) (0) | 2020.12.03 |
[SFML] Simple Fast Multimedia Library 설정 / 원 그리기 (0) | 2020.12.03 |
[C++ 기초] STL : Standard template library / class array (0) | 2020.10.27 |
Comments