sfml 게임 6

[C/C++, SFML] 6. 폰트(font) 파일 읽고 화면에 출력하기(Font, Text)

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و sf::Font 클래스는 대부분의 폰트 타입을 지원하며 여러 형태의 폰트 파일을 메모리로 로딩합니다. 로딩된 폰트 정보는 sf::Text 클래스를 통해 화면에 출력되는데, sf:Text 클래스는 글자의 사이즈, 스타일, 컬러, 위치, 로데이션 등을 옵션으로 설정할 있습니다. Font font; //폰트 파일 로드 font.loadFromFile("resources/DS-DIGIB.ttif"); //폰트를 사용할 text 생성 Text text; text.setFont(font); //폰트 text.setCharacterSize(size); //크기 text.setPosition(x, y); //x, y 위치 text.setFillColor(color); ..

[C/C++, SFML] 5. 캐릭터, 배경 등 이미지(Texture, Sprite) 출력하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 지난 시간에 이어 이번에는 배경 또는 캐릭터 이미지를 읽어서 화면에 출력하는 클래스인 Texture, Sprite 클래스에 대해 정리합니다. Texture, Sprite 클래스는 아래 그림과 같이 화면에 파일로 부터 읽은 png, jpg 등의 이미지 파일을 임의 위치에 표현할 수 있는 기능을 제공합니다. Texture는 파일로 부터 읽어 들인 이미지를 뜻하고 Sprite는 사각형, 원, 삼각형 등의 모양 틀에 Texture를 입힌 것으로 개념을 설명하고 있습니다. 예제 코드를 통해서도 알수 있듯이 Sprite는 이미지 데이터(Texture)를 가지고 목적에 맞게 어떻게 Texture를 그려낼지 결정합니다. SFML 사이트에서도 "A sprite is no..

[C/C++, SFML] 4. 타이머(Timer) 구현하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 타이머는 게임 뿐만 아니라 여러 프로그램에서 사용되는 기능입니다. SFML에서도 Time 클래스를 이용하여 일종의 타이머 기능을 구현할 수 있습니다. SFML의 Time 클래스는 현재의 날짜(년, 월, 일, 시, 분, 초)를 나타내는 것이 아닌 시간의 양을 표현하는 용도로 사용됩니다. 예를 들어 일정 시간단위로 어떤 기능을 수행해야 한다면 경과 시간을 측정하고 시계를 다시 재시작하기를 반복하면서 일정 주기로 특정 코드를 실행할 수 있습니다. Clock 클래스는 경과 시간을 측정하기 위해 초(asSeconds()), 밀리초(asMilliseconds()), 마이크로초(asMicroseconds()) 단위로 측정할 수 있는 메소드를 지원합니다. 경과 시간 통..

[C/C++, SFML] 3. 기본 윈도우(RenderWindow) 출력하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و SFML의 기본 윈도우(RenderWindow)를 출력해 보겠습니다. RenderWindow는 그래픽 모듈의 메인 클래스이며 부모 클래스는 Window, RenderTarget, 최상위 클래스는 GlResource, NonCopyable 클래스로 구성되어 있습니다. Window 클래스와 같이 RenderWindow 클래스도 OpenGL 항목을 렌더링 할 수 있습니다. RenderWindow 클래스의 생성자(Constructor)는 다음과 같습니다. 디폴트 생성자 sf::RenderWindow::RenderWindow ( VideoMode mode, const String & title, Uint32 style = Style::Default, const C..

[C/C++, SFML] 2. SFML 라이브러리 소개 및 Visual Studio 2019 설정

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و SFML 라이브러리는 크게 Graphics, Audio, Network, System, Window의 다섯 가지 모듈로 구성되어 있습니다.Audio 모듈Sound, streaming, recording 등 소리를 표현하고 레코딩하기 위한 하기 위한 모듈입니다.Graphics 모듈sprite, text, shape 등 2D 그래픽을 위한 용도의 모듈로 Sprite, Image, Shape, Texture, Color 등의 그래픽 관련 클래스들로 구성되어 있습니다.Network 모듈Socket을 기반으로 한 통신, 유틸리티와 HTTP, FTP와 같은 하이레벨 네트워크 프로토콜을 지원합니다.System 모듈Clock, Thread, Mutex, Time, Ve..

[C/C++, SFML] 1. SFML 프로그래밍 시작

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 예전에 가지고 놀던 사이먼(Simon) 게임기가 생각이 나서 프로그램으로 만들어 보자는 생각을 했습니다. 일종의 기억력 테스트 게임이라고 알고 있었는데 정작 이름은 모르고 있었더라구요. 구글링 해서 찾아보니 위키에서 Simon Game이라고 알려주네요. Simon(game) : en.wikipedia.org/wiki/Simon_(game) 그런데 장난감부터 컴퓨터 프로그램, 스마트폰 앱들이 많이 있긴 하지만 생각보다 알고리즘이 간결하여 스터디도 할겸 이미지 제작부터 코딩까지 해 보기로 하였습니다. 아무래도 이미지, 효과음 등을 표현하기에는 Visual Studio 2019만으로는 표현이 부족하다는 생각이 들어 관련 라이브러리들을 찾아봤습니다. 간단히 2D..