728x90
- 📆 학습 날짜
2021.03.22 (월)
- 🕐 학습 시간
8:13 - 10:05(집)
14:00 - 15:13(카페)
15:19 - 15:39(카페)
15:50 - 17:25(카페)
- ✓ 학습 목표
- C++ 공부하기
- mlx 예제 풀이
- 어제로부터
- ? 학습 범위 및 주제
- 42seoul : ft_printf
- C++
- 📝 상세 학습 내용
백준 문제풀이
- 1330 : 두 수 비교하기 (B4)
- if문 활용, scanf 자동 개행
- 2884 : 알람 시계 (B3)
- if문, cout에 변수 여러개
- 11021 : A + B - 7 (B3)
- for문
- 1110 : 더하기 사이클 (B1)
- while문 통과
-
4344 : 평균은 넘겠지 (B1)- C++ 동적할당 new
- 1330 : 두 수 비교하기 (B4)
02 key_handling
- 키를 입력받고 동작을 수행하는 예제
- W와 S키의 입력을 변화하는 x 값을 확인할 수 있다.
- mlx_hook
int mlx_hook(void *win_ptr, int x_event, int x_mask, int (*funct)(), void *param)
- funct_ptr는 이벤트 발생시 호출하고 싶은 함수를 가리키는 포인터
- funct는 win_ptr에 의해 특정된 윈도우에만 적용
- 이벤트에 따라 작동
- 매크로에 맥북의 KEYcode를 저장해두고, mlx_hook에서 입력된 keycode에 따라 구조체 파라미터에 함수를 적용시켰다.
=> 응용해서 y 입력값도 받아보았다.
03 img_loading
- xpm파일을 불러와서 화면에 그려 창에 띄운다.
int mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y)
- 디스플레이 연결(mlx_ptr), 사용할 창(win_ptr) 및 이미지(img_ptr), 창에서 이미지를 배치할 위치(x,y)
void *mlx_xpm_file_to_image (void *mlx_ptr, char *filename, int *width, int *height);
- 에러 발생시 null 리턴
- mlx_A_to_image 함수들은 각각 xpm 배열데이터, xpm파일, png파일의 종류 별 이미지 변환.
- width와 hegith에는 너비와 높이를 저장할 int 형 변수의 주소를 넣어둔다.
- 에러 발생시 null 리턴
04 img_making
- 파일이 아닌 직접 픽셀에 점을 찍어서 그림을 그려 창에 띄운다.
- 홀수와 짝수대로 1픽셀에 색상을 부여하는 듯
- 검은색과 흰색 입력시 회색으로 나타남
05 img_loading_and_modifying
- 파일을 불러온 뒤 그 위에 픽셀을 찍어서 창에 띄운다.
- mlx_get_data_addr로 받아온 data를 수정해서 img를 조정
06 map_2d
- 간단한 2d맵을 만든다.
- esc 외에 상호작용 없음
- c :
double floor(double n)
- 내림 함수
- 함수 구조
- game_init : 이차원 배열로 만든 맵을 memcpy를 통해 구조체에 복사
- window_init : mlx_ptr에 mlx_init, win에 mlx_new_window
- img_init : 이미지 메모리 생성 후 이미지 정보 저장
- 이벤트를 받는 hook
- loop_hook : 지도 구축
- 맵에 1인 구간마다 #ffffff로 사각형 구현
- #b3b3b3으로 line(세로줄, 가로줄) 구획 (<math.h> fabs 실수절댓값)
- drawline에서 줄두께는 어디인가?
- ? 추가적으로 공부해야할 내용 (Weekend)
- xpm 파일
- 학습내용에 대한 총평
차근차근 하나씩 해나가는 중이다.
- 👉 해야할 일
- img.data의 좌표 확인
- 📚 참고 서적 및 웹사이트
728x90
'공부 > TIL' 카테고리의 다른 글
20210324(수) (0) | 2021.03.25 |
---|---|
20210323(화) (0) | 2021.03.25 |
20210321(일) (0) | 2021.03.22 |
20210319(금) (0) | 2021.03.19 |
20210317(수) (0) | 2021.03.18 |