분류 전체보기 117

[일상] 아이스크림 케잌은 이제 그만(?)!!

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 가족들이 아이스크림을 좋아해서 생일 때 아이스크림 케잌을 몇 번 샀드랬어요. 지인분들이 모바일 기프트 카드로 보내주시기도 해서 아이스크림 케잌을 먹게 되었지요. 근데, 매번 제대로 먹지도 못하고 불상사가 생겼지 모예요. 우리는 아이스크림 케잌과는 인연이 아닌가 보다 우리랑 안 맞나 보다 생각하고 한동안 아이스크림 케잌을 안 사먹었어요. 물건을 잘 떨어뜨리는 스타일이기도 하고요...ㅎㅎ 첫번째 불상사!예요. 철퍼덕! 하는 순간 아...하고 뇌정지가 몇초간 오더라구요. 그래도 이건 양호해요 케잌이 완전이 이탈 하지 않았으니까요. .... 그리고 얼마 뒤 생일이 있어서 다시 아이스크림 케잌으로 추카 파뤼!를 하기로 했어요. 더 높은 위치에서 철퍼덕!! 또 다시..

Daily Life 2021.04.03

[C/C++, SFML] 9. 엔티티(Sprite, Text, Share 등) 위치, 로테이션, 스케일 등 모양 바꾸기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و Sprite, Text, Shape의 클래스들은 동일한 sf::Transformable 인터페이스를 통해 Sprite, Text, Shape들의 크기 변경, 회전, 이동 등을 지원합니다. 동일한 유형의 간단한 API를 통해 move, rotate, scale 변경이 가능한데 예를 들어 Text의 위치를 변경한다고 하면 아래와 같이 setPosition()를 통해 절대 위치를 정하고 move()를 통해 상대 위치로 엔티티를 이동 시킬 수 있습니다. 이 같은 절차는 Sprite, Shape들도 동일하게 적용됩니다. 아래 예에서 text.getPosition()의 결과는 setPosition(), move()에서 설정한 위치가 누적 반영되어 x는 110, y는..

[C/C++, SFML] 8. 마우스 이벤트(Event) 및 상태(State) 처리하기

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 오늘 다룰 내용은 SFML에서 sf::Mouse 클래스와 마우스 이벤트 처리에 대한 내용입니다. sf::Mouse 클래스는 마우스의 이동(Moved), 키눌림(Pressed), 키 떼임(Released) 등 상태에 대한 인터페이스를 제공합니다. event.type과 event.key.code의 상태에 따라 Event::MouseButtonPressed, Event::MouseButtonReleased, Event::MouseMoved, Event::MouseWheelMoved:, Event::MouseWheelScrolled: 등에 따라 마우스의 상태를 파악할 수 있습니다. 다음 실행 화면은 마우스 상태를 콘솔에 출력하고 마우스 이동과 버튼 클릭에 따라 ..

[과학] 식물과 에너지 - 식물의 증산작용 실험

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 동생 과학 실험 중 식물의 증산작용 실험 위해 부랴부랴 준비물을 준비하고 실험을 했습니다. 조금이나마 도움이 되었으면 해서 과정을 공유합니다. 준비물들을 어떻게 구할까 고민하다가 메스실리더 또는 삼각플라스크를 인터넷 구매하기에는 시간이 걸리고 오프라인에서 구하기는 쉽지 않고 해서 PET 재활용 물병, 비닐, 고무밴드 등 주변에서 구할 수 있는 물건들로 실험을 진행하기로 했습니다. 좀 있으면 "지구의 날"이기도 해서 최대한 있는 것 활용하기로 했답니다. 준비한 준비물입니다. 준비물 : PET 물병 2개, 식물 2개, 테이프, 자, 가위, 펜, 고무밴드 2개, 거즈 또는 솜 2개 준비 과정 먼저 되도록이면 준비 과정 중에 식물이 시들지 않도록 뿌리를 물에 잘..

Daily Life 2021.03.31

[일상] 구글 애드센스(Google AdSense) 1차 낙방 ㅠㅠ

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 첨엔 무심(?)하게 시작했던 구글 애드센스가 마음을 들었다 놨다 하네요. 오늘 새벽 승인 거부 났어요 ㅠㅠ 애드센스 신청하고 7일정도 후에 "계정을 활성화하여 수익을 창출하세요"라는 메일 받고 벌써 ? 라는 생각과 들뜬 마음으로 메일을 읽었어요 ^^ 이게 어떤 의미일까? 라는 생각으로 구글링을 해보니 다른 승인 거절되신 분들도 많이 받으셨던 메일이더군요 ㅎ 덕분에 애드고시라는 유행어도 알게되었답니다. 처음 블로그할 때는 애드센스가 뭐가 중한디?라고 생각했다가 나도 해볼까 ?로 생각이 바뀌면서 신청하고 은근히 기대했는데 결과는 떡하니 거부 났어요. 메일로는 다른 분들처럼 이렇게 왔구요. 애드센스(www.google.com/adsense) 로그인 해서 거부 ..

Daily Life 2021.03.31

[여행] 고창 상하목장(상하농원)

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 계획에 없던 갈 곳이 있어서 아침 일곱시에 일어나서 부랴부랴 준비했어요. 당일치긴줄 알고 짐도 별로 안챙겼죠,, 톨게이트를 지나면서 당일치기 계획이 바뀌게 되어 '어서와! 한국은 처음이지'라는 프로그램에 나왔던 상하목장을 지나는 길에 잠시 들렀습니다. 내부가 궁금하기도 해서 산책도 할겸 잠시 방문했습니다. 들어 가보니 이국적인 건물들이있었고, 그 뒤로는 향긋하게 냄새(?)나는 동물들이 보였습니다😅 그 대각선으로는 무한 당근 공급으로 몸이 아주 불어난 양들을 봤어요,, 이렇게 뒤룩뒤룩(?)한 양들은 처음봤어요 ㅎㅎ 큰 기대는 안했었는데 테마공원 답게 이국적 건물들도 볼만했고, 체험교실과 직접 농사지은 특산물들, 기념품들을 살 수 있었어요. 둘레길도 잘 되어..

Daily Life 2021.03.31

[C/C++, SFML] 7. 오디오(음악, 효과음) 파일 읽고 재생하기(SoundBuffer, Sound)

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و 오디오 파일은 sf::SoundBuffer 클래스를 통해 메모리로 읽을 수 있습니다. 전반적인 절차는 폰트를 읽고 화면에 Text를 출력하는 것과 유사합니다. 폰트의 경우 sf::Font 클래스의 loadFromFile() 메소드를 이용하여 읽고 sf::Text 클래스를 이용하여 색, 위치, 크기 등을 지정했듯이 오디오 파일의 경우도 sf::SoundBuffer 클래스를 이용하여 오디오 파일을 읽고 sf::Sound 클래스를 이용하여 피치 설정, 플레이 등을 수행합니다. 오디오 데이터를 파일 뿐만 아니라 스트림 또는 메모리로부터도 읽을 수 있습니다. SFML이 지원하는 오디오 파일 포멧은 WAV, OGG, FLAC이며 MP3는 라이센스 이슈로 현재 지원하..

[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()) 단위로 측정할 수 있는 메소드를 지원합니다. 경과 시간 통..