파이썬 코딩 무료 강의 (활용편1) - 추억의 오락실 게임을 만들어 보아요. 3시간이면 충분합니다. [나도코딩]

Поділитися
Вставка
  • Опубліковано 5 лип 2024
  • 파이썬 무료 강의 (활용편1 - 게임개발)입니다.
    누구나 볼 수 있도록 쉽고 재미있게 제작하였습니다. ^^
    함께 오락실 게임을 만들어 보아요.
    이 강의를 보고 나면 무슨 게임이든 만들 수 있습니다.
    * 강의 내용을 미리 확인하고 싶다면 여기를 클릭하세요
    나도코딩 블로그 : nadocoding.tistory.com/8
    * 게임 제작에 사용된 이미지는 [나도코딩] 고정 댓글에서 확인하실 수 있습니다.
    * 본 영상은 기본편을 학습한 분들을 위한 강의입니다.
    파이썬을 처음 접하신다면, 아래 기본편을 먼저 공부해주세요 ^^
    [ 기본편 ]
    파이썬은 다양한 활용 분야가 있는 인기 최고의 프로그래밍 언어입니다.
    수많은 컴퓨터 교육 기관에서 가르치고 있으며 학생들도 배우고 있지요.
    여러분의 가치를 훨씬 높일 수 있는 필살기,
    지금 바로 시작하세요 !
    바로가기 : • 파이썬 코딩 무료 강의 (기본편) - 6...
    [ 활용편 커리큘럼 ]
    * 활용편은 제작 중입니다.
    1. 게임 개발 [완료]
    - 오락실에서 하던 Pang 게임
    2. GUI 프로그래밍 [완료]
    - 영상에서 캡처한 이미지들을 하나로 합치는 프로그램
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편2) - ...
    3. 웹스크래핑 [완료]
    - 내가 원하는 뉴스를 매일 자동으로 긁어오는 프로그램
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편3) - ...
    4. 업무자동화 [완료]
    - 엑셀, 인터넷, 데스크탑 등 컴퓨터에게 일을 시키는 스크립트
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편4) - ...
    5. 데이터 분석 및 시각화 [완료]
    - 빅데이터를 활용한 대한민국의 인구 문제 분석
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편5) - ...
    6. 이미지 처리 [완료]
    - 이미지 / 영상에서 얼굴을 인식하여 얼굴 위에 재밌는 캐릭터 씌우기
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편6) - ...
    7. 머신러닝 [완료]
    - 머신러닝을 이용하여 나만의 영화 추천 시스템 만들기
    - 바로가기 : • 파이썬 코딩 무료 강의 (활용편7) - ...
    8. 사물인터넷
    - 아두이노를 활용한 RC Car 제작
    [목차]
    (0:00:00) 0.Intro
    (0:00:16) 1.소개
    (0:02:02) 2.활용편1 소개
    (0:02:59) 3.환경설정 & 프레임
    (0:11:52) 4.배경
    (0:18:36) 5.캐릭터
    (0:28:26) 6.키보드 이벤트
    (0:39:54) 7.FPS
    (0:46:54) 8.충돌 처리
    (0:54:42) 9.텍스트
    (1:02:46) 10.게임 개발 프레임
    (1:07:03) 11.퀴즈 전반전
    (1:14:53) 12.퀴즈 후반전
    (1:22:16) 13.프로젝트
    (1:25:17) 14.배경과 캐릭터
    (1:35:40) 15.무기와 키보드 이벤트
    (1:50:43) 16.공 만들기
    (1:57:37) 17.공 튕기기
    (2:10:22) 18.충돌 처리
    (2:19:46) 19.공 쪼개기
    (2:27:38) 20.게임 오버
    (2:38:47) 21.버그 수정
    (2:52:24) 22.Outro
    ✅ 나도코딩의 자바 기본편 강의
    👉 inf.run/BUS6
    Designed by freepik
    : www.freepik.com

КОМЕНТАРІ • 2,8 тис.

  • @nadocoding
    @nadocoding  4 роки тому +166

    잠깐! 질문이 있으신가요? 아래 영상의 설명을 참고하셔서 질문게시판을 이용해보세요 ^^ 이미 답변이 되었을 수도 있답니다.
    - 자주 묻는 질문 게시판 : nadocoding.tistory.com/17
    - 사용방법 : ua-cam.com/video/LZQC9mEzdtk/v-deo.html
    [목차]
    파란색 링크를 눌러주세요 (건너뛰기)
    [기본기]
    (0:00:00) 0.Intro
    (0:00:16) 1.소개
    (0:02:02) 2.활용편1 소개
    (0:02:59) 3.환경설정 & 프레임
    (0:11:52) 4.배경
    (0:18:36) 5.캐릭터
    (0:28:26) 6.키보드 이벤트
    (0:39:54) 7.FPS
    (0:46:54) 8.충돌 처리
    (0:54:42) 9.텍스트
    (1:02:46) 10.게임 개발 프레임
    [퀴즈]
    (1:07:03) 11.퀴즈 전반전
    (1:14:53) 12.퀴즈 후반전
    [프로젝트]
    (1:22:16) 13.프로젝트
    (1:25:17) 14.배경과 캐릭터
    (1:35:40) 15.무기와 키보드 이벤트
    (1:50:43) 16.공 만들기
    (1:57:37) 17.공 튕기기
    (2:10:22) 18.충돌 처리
    (2:19:46) 19.공 쪼개기
    (2:27:38) 20.게임 오버
    (2:38:47) 21.버그 수정
    (2:52:24) 22.Outro
    [소스코드]
    아래 블로그에서 소스코드를 받으실 수 있습니다.
    nadocoding.tistory.com/8
    [퀴즈 게임 이미지]
    1. 똥
    www.freepik.com/free-vector/funny-poop-sticker-collection_1318153.htm#page=1&query=shit&position=0
    2. 멍멍이 캐릭터
    www.freepik.com/free-vector/pack-pugs-with-lovely-style_1353886.htm#page=1&query=shit&position=6
    3. 종이 배경
    www.freepik.com/free-photo/design-space-paper-textured-background_3220799.htm#page=1&query=paper&position=0
    [프로젝트 게임 이미지]
    1. 배경
    www.freepik.com/free-vector/arcade-game-world-pixel-scene_4815143.htm#query=arcade-game-world-pixel-scene&position=8
    2. 스테이지
    www.freepik.com/free-vector/urban-city-day-time-background_4708004.htm#page=5&query=brick&position=47
    3. 캐릭터
    opengameart.org/content/custom-sprites-for-the-crystal-palace-0
    4. 무기 머리 부분
    www.freepik.com/free-vector/weapon-icons-set_3924829.htm#page=1&query=arrow%20weapon&position=7
    5. 무기 몸체 부분 (와이어)
    www.freepik.com/free-vector/barbed-wire-realistic-illustration-separate-elements-barbed-wire_3586280.htm#page=1&query=wire&position=37
    6. 공
    www.freepik.com/free-vector/colored-bubbles_808278.htm#page=2&query=bubble&position=18

    • @nadocoding
      @nadocoding  4 роки тому +5

      (다른 댓글에도 있지만 중요한 내용이라서 고정 댓글에 다시 추가합니다)
      키 이벤트를 통한 캐릭터 이동 시 방향키를 빠르게 누르면 캐릭터가 아예 멈춰버리는 현상이 생깁니다.
      프로젝트 코드 기준으로 아래와 같이 4군데를 수정하면 위 현상을 해결할 수 있습니다.
      x 좌표 이동 방향 처리를 왼쪽, 오른쪽으로 나누어서 key down / key up 에서 각각 처리하여 더해주는 방식입니다.
      ★ 아이디어를 주신 '실로폰'님 감사합니다 ^^
      [개선된 코드]
      # 수정1 : 기존의 character_to_x 를 왼쪽 방향, 오른쪽 방향 변수 2개로 나눔
      character_to_x_LEFT=0
      character_to_x_RIGHT=0
      ...
      for event in pygame.event.get():
      if event.type == pygame.QUIT:
      running = False
      # 수정2 : 키를 누를 때 LEFT, RIGHT 에 따라 서로 다른 변수의 값 조정
      if event.type == pygame.KEYDOWN:
      if event.key == pygame.K_LEFT:
      character_to_x_LEFT -= character_speed # 바뀐 부분
      elif event.key == pygame.K_RIGHT:
      character_to_x_RIGHT += character_speed # 바뀐 부분
      elif event.key == pygame.K_SPACE:
      ...
      # 수정3 : 키에서 손을 뗄 때 LEFT, RIGHT 를 각각 처리
      if event.type == pygame.KEYUP:
      if event.key == pygame.K_LEFT: # 이 부분은 모두 다 바뀜
      character_to_x_LEFT = 0
      elif event.key == pygame.K_RIGHT:
      character_to_x_RIGHT = 0
      # 수정4 : 두 변수의 값을 모두 더함
      character_x_pos += character_to_x_LEFT + character_to_x_RIGHT
      ...

    • @tatenen4132
      @tatenen4132 4 роки тому +1

      @@nadocoding 그러면 charcater를 player로 전부 바꿔야 하나요?
      이해가 안가내요...

    • @nadocoding
      @nadocoding  4 роки тому +2

      @@tatenen4132 죄송합니다. 다른 PC 에서 작업하던 소스코드를 수정해서 character 가 player 로, 우리 강의 내용과 다르게 돼 있었네요
      댓글 내용 수정하였으니 다시 확인 부탁드려요 ^^

    • @siwoncool
      @siwoncool 3 роки тому

      @@nadocoding 혹시 IDLE로 해도 바뀌는건 없나요?

    • @nadocoding
      @nadocoding  3 роки тому +2

      @@siwoncool 코드 분량이 꽤 되어서 IDLE 에서 하시게 되면 많이 불편하실거라 생각합니다 ^^

  • @shaun0927
    @shaun0927 Рік тому +43

    영상 시작 부분에서 pygame 설치 오류가 뜨는 분들이 많으실 텐데, 22년 12월 기준으로 python 3.11 이상 최신 버전은 pip install pygame 실행 시 설치가 안 되는 오류가 있습니다. 낮은 버전을 다시 설치하셔야 하는데, 3.7 이전 버전은 VS code에서 디버깅 툴이 지원되지 않으므로 3.7~3.10 사이의 버전 설치를 권장합니다. 저는 3.10.9 버전으로 해결했습니다.

  • @HeenDee
    @HeenDee 4 роки тому +361

    솔직히 이런 강의가 한국어 영상으로
    나와준다는게 너무나
    감사할 따름이네요. 감동입니다11

    • @nadocoding
      @nadocoding  4 роки тому +64

      대한민국에 많은 훌륭한 강의들이 있지만 사교육비 절감에 조금이나마 일조하고 싶었는데 많은 분들이 호응해 주셔서 얼마나 감사한지 모릅니다. 계속 좋은 영상을 만들도록 꾸준히 노력하겠습니다 ^^

    • @insukseomail5058
      @insukseomail5058 4 роки тому +6

      @@nadocoding 계속 좋은 영상 빨리 올려주세요...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ (좋은 강의 잘보고 있습니다. ^^)

    • @Theo.0770
      @Theo.0770 3 роки тому +1

      @@nadocoding 대기업 부품으로써 자괴감 많이 느끼고 있었는데, 나도코딩님 강의로 늦었지만 프로그래머라는 꿈을 갖게 되었어요.
      앞으로 2년 열심히 공부해서 프로그래머로 새 삶을 시작하려 합니다. 너무 감사합니다.

  • @user-fg3wf3wl2u
    @user-fg3wf3wl2u 3 роки тому +112

    맨날 흑백화면에 print나 쳐대는 게 코딩인가 싶었는데 실용편 따라하니 진짜 코딩의 참맛을 알 것 같습니다.

    • @abcd0302
      @abcd0302 3 роки тому +2

      말 잘하시네요 ㅋㅋㅋㅋㅋㅋㅋ

    • @user-uq9zz8mu5u
      @user-uq9zz8mu5u 3 роки тому +3

      ㅇㅈ

    • @bingcong2907
      @bingcong2907 2 роки тому

      @@hoya0690 '인정'을 초성으로만 따서 'ㅇㅈ'이라고 써요

  • @user-yb8ew3lo2m
    @user-yb8ew3lo2m 3 роки тому +7

    파이썬을 아예 모르는 상태에서 봤는데도 전체적인 내용이 잘 이해되네요!! 세부적인 문법만 익힌다면 저도 충분히 게임을 만들 수 있다는 자신감을 얻었습니다. 좋은 강의 감사해요~~!

  • @nadocoding
    @nadocoding  4 роки тому +34

    키 이벤트를 통한 캐릭터 이동 시 방향키를 빠르게 누르면 캐릭터가 아예 멈춰버리는 현상이 생깁니다.
    프로젝트 코드 기준으로 아래와 같이 4군데를 수정하면 위 현상을 해결할 수 있습니다.
    x 좌표 이동 방향 처리를 왼쪽, 오른쪽으로 나누어서 key down / key up 에서 각각 처리하여 더해주는 방식입니다.
    ★ 아이디어를 주신 '실로폰'님 감사합니다 ^^
    [개선된 코드]
    # 수정1 : 기존의 character_to_x 를 왼쪽 방향, 오른쪽 방향 변수 2개로 나눔
    character_to_x_LEFT=0
    character_to_x_RIGHT=0
    ...
    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    running = False
    # 수정2 : 키를 누를 때 LEFT, RIGHT 에 따라 서로 다른 변수의 값 조정
    if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
    character_to_x_LEFT -= character_speed # 바뀐 부분
    elif event.key == pygame.K_RIGHT:
    character_to_x_RIGHT += character_speed # 바뀐 부분
    elif event.key == pygame.K_SPACE:
    ...
    # 수정3 : 키에서 손을 뗄 때 LEFT, RIGHT 를 각각 처리
    if event.type == pygame.KEYUP:
    if event.key == pygame.K_LEFT: # 이 부분은 모두 다 바뀜
    character_to_x_LEFT = 0
    elif event.key == pygame.K_RIGHT:
    character_to_x_RIGHT = 0
    # 수정4 : 두 변수의 값을 모두 더함
    character_x_pos += character_to_x_LEFT + character_to_x_RIGHT
    ...

    • @user-bf7ps6ku4s
      @user-bf7ps6ku4s 4 роки тому +1

      자주 좌측에서 우측으로 방향을 (반대 방향도 마찬가지) 바로 이동하는 것이 아닌 잠시 멈췄다가 한번더 키를 누르면 실행되고있습니다.
      원래 그런건가요?

    • @nadocoding
      @nadocoding  4 роки тому +1

      @@user-bf7ps6ku4s 강의 코드에서는 그런데 위 댓글 보충설명의 코드로 하면 개선될거에요! 댓글대로 하셨는데도 그러면 작성하신 코드 모두를 올려주시면 도움드리겠습니다^^

    • @user-bf7ps6ku4s
      @user-bf7ps6ku4s 4 роки тому

      @@nadocoding 감사합니다.

    • @ky_1108
      @ky_1108 4 роки тому

      x 위치랑 -x 위치를 두개로 나눈건가요

    • @nadocoding
      @nadocoding  4 роки тому

      @@ky_1108 네, x 좌표만 있었는데 x_left 와 x_right 로 둘로 나눈거 맞습니다 ^^

  • @user-se1db2ns7f
    @user-se1db2ns7f 3 роки тому +14

    재밌게 강의 잘 보고있습니다 선생님. 꾸준히 흥미를 가지고 코딩 공부에 임하게 해줄 수 있는 강의는 이 강의가 처음이에요. 감사합니다♥

  • @donghoonlee6135
    @donghoonlee6135 3 роки тому +14

    기본편 끝내고 현재 활용편1까지 다 따라했습니다! (이제는 선생님이라고 불러야 할 것 같습니다 ^^)
    그냥 보고 따라하니 조금씩 이해가 가고 퀴즈를 통해서 더욱 이해가 잘가네요.
    진짜 아무것도 모르고 시작해서 금방 포기 할 줄 알았는데 너무 재밌게 배우고 있습니다!
    영상 만드시는데 수고가 많으시겠지만 꾸준히 올려주세요! 감사합니다

  • @jkhong25
    @jkhong25 3 роки тому +79

    진짜재밋다ㅋㅋㅋㅋㅋㅋ 파이썬 파짜도 모르고 아직 기초도 안듣고 있는데 이해가 되면 얼마나 잘 가르쳐주시는 거징ㅎㅎ 이거 보고 기초편보면 정말 재밋게 배울 수 있을 것 같아요ㅎㅎ 감사합니당ㅎㅎ

    • @kimjunsik540
      @kimjunsik540 2 роки тому

      똑똑혜

    • @nics1568
      @nics1568 2 роки тому

      @@user-jf2vm3qc8b 7

    • @moon-pk2ty
      @moon-pk2ty 2 роки тому

      @@user-jf2vm3qc8b
      저분 동생이라서 형 선전해주는 거 아닐까요?

    • @moon-pk2ty
      @moon-pk2ty 2 роки тому

      @@kimjunsik540
      안 똑똑해!

  • @acarose1004
    @acarose1004 4 роки тому +11

    이번에도 다 듣고 따라해 보았어요!! 와우~~ 같이 따라 할때는 귀에 쏙쏙 잘 들어와요 ㅎㅎㅎ^^ 대박ㅎㅎㅎ 넘넘 재밌어요!!! 감사합니다.~~~^^

    • @nadocoding
      @nadocoding  4 роки тому +3

      ㅠㅠ 감동입니다. 이렇게 열심히 하시는 분이 계시니... 다음 강의도 열심히 준비하겠습니다!!!^^

  • @user-pl6bj8tz6r
    @user-pl6bj8tz6r 3 роки тому +33

    PC언어는 내것은 아니라고 생각하며 지내왔는데..."나도코딩님" 의 기본편(약2주간) 보고 더할나위 없는 실력과 강의에 감탄 금할 수 없네요.. 멋지고 최곱니다. 한걸음 한걸음 나아가고 많이 배우겠습니다.

  • @asantv
    @asantv 3 роки тому

    행복한 주말입니다
    모두모두 울면안돼요
    해피 크리스마스되세요
    UA-cam에서 '[아산TV] 산타할매가 춤추는 꼬리꼬리한 크리스마스 캐롤송 Christmas carol song with the tail of Santa Claus dancing.' 보기
    ua-cam.com/video/aArPAY8KjyY/v-deo.html

  • @user-yc1lx4wj4y
    @user-yc1lx4wj4y 3 роки тому +39

    20:59 책갈피✨

  • @hodokuaja
    @hodokuaja 4 роки тому +42

    목소리도 너무 듣기 좋고요, 설명도 너무 친절하시고, 강의 퀄리티도 높고요, 너무 최고에요!

    • @nadocoding
      @nadocoding  4 роки тому +9

      자꾸 이러시면 진짜인 줄 알고 혼자 헤벌레... 합니다.
      3000 만큼 감사합니다♥

  • @CodingOn
    @CodingOn 3 роки тому +3

    거의 3시간 가까이 되는 영상인데, 시간가는 줄 모르고 보았네요. 파이썬을 혼자 공부하시는 분들께 정말 좋은 강의네요! 코딩하는 걸 어려워하는 어려워하고 활용을 못하는 경우가 많은데 게임을 직접 만들어보며 재미있게 코딩하기 좋아요!

  • @user-qr1ju7hi3h
    @user-qr1ju7hi3h 2 роки тому +9

    활용편 완강 가즈아
    54:44
    1:22:16 퀴즈 해결 완료
    2:10:23 무기, 공 이해중
    끝!

  • @user-ht7bs7pv9i
    @user-ht7bs7pv9i 3 роки тому +1

    11:52 - 10/1
    18:36 - 10/2
    39:54 - 10/4
    54:43 - 10/6
    1:07:03 - 10/7
    퀴즈 - ~10/12 완료 및 강의 듣기

  • @forthepeople406
    @forthepeople406 4 роки тому +3

    기본을 보고 나니 선생님 강의가 수월하게 이해가 됩니다. 정말 고맙습니다. 늘 건강하십시오! 남에게 이로운 삶을 사시니 복 많이 받을 겁니다.

    • @nadocoding
      @nadocoding  4 роки тому

      ^^ 이해가 잘 되신다니 기본편 내용을 제대로 잘 숙지하셨나보네요!! 피드백 정말 감사드립니다.

  • @jin4246
    @jin4246 2 роки тому +2

    정말 감사합니다 ㅎㅎ 시간날때마다 조금씩 변형해가며 원하는 기능들을 추가해 저만의 게임을 만들어보는 중입니다. 최근에 발견했는데, 정말 재미있게 듣고 있어요!

  • @user-db5lf5cy4z
    @user-db5lf5cy4z 3 роки тому +9

    가격이 부담스러워서 코딩 배우고 싶었지만 못 배우고 있었는데 나도코딩님 덕분에 재밌게 배우고있어요 ㅠㅠ 감사합니다

  • @Semipia
    @Semipia 4 роки тому +17

    강의 하시는데 목소리가 너무 차분하고 귀에 잘 들어옵니다. 가르치는데 천부적인 목소리를 소유하신 것 같아요. 감사합니다!

    • @nadocoding
      @nadocoding  4 роки тому +4

      칭찬 정말 감사드립니다. ^^ 제게는 늘 어색한 제 목소리지만 전달이 잘 된다고 하시니 진짜 다행이에요 ㅋㅋㅋ

  • @user-su8gv7sb6z
    @user-su8gv7sb6z 4 роки тому +4

    elapsed_time = (pygame.time.get_ticks() - start_ticks) / 1000
    이 부분에서 start_ticks를 따로 정의해서 빼주는 이유가 무엇인가요?
    pygame.time.get_ticks() / 1000 을 해준 후에 total에서 빼면 안되는 건가요?

    • @nadocoding
      @nadocoding  4 роки тому +3

      pygame.time.get_ticks() 를 하게 되면 프로그램 시작 시점부터 이 문장이 실행될 때까지의 시간을 알 수 있는데요, 이렇게 설명해볼게요.
      import pygame
      ... 소스코드 ...
      start_ticks 정의 -> 프로그램 시작 시점부터 이 때까지 2초 소요 (★)
      ...소스 코드...
      while ...
      ... 소스 코드...
      elapsed_time 계산 -> 프로그램 시작 시점부터 이 때까지 3초 소요 (●)
      프로그램을 시작하고부터 ★ 지점까지는 2초가 소요 되었습니다.
      프로그램을 시작하고부터 ● 지점까지는 3초가 소요 되었습니다.
      그러면 ★ 와 ● 까지는 1초가 소요된 것이죠.
      total_time 이 100초이며, 100초부터 99, 98, 이렇게 줄어들어야 하므로 elapsed_time 은 1초, 2초, .. 이렇게 증가해야 합니다.
      하지만 pygame.time.get_ticks() 는 프로그램 시작 시점부터 그 문장이 실행될때가지의 시간이라 했으므로, 앞에 ★ 부분까지 소요된 2초를 포함한 전체 시간이 나오겠지요? 그러면 준혁님께서 말씀하신 코드대로 하면 elapsed_time 의 처음 값은 최소한 3초 이상일겁니다. 그러면 total_time 에서 3초를 뺀 97 초가 처음값이 되는 문제가 생길 수 있는거죠.
      start_ticks 를 빼면, ● 까지 3초 소요된 시간 중 ★ 까지 2초 소요된 시간을 빼기 때문에 1초가 될 것이고, total_time 에서 1초를 뺀 99초가 될겁니다.
      정리하면, 게임 루프 (while 부분) 에 진입하기 전까지의 소스코드가 수행되기 위해 소요되는 시간은 빼기 위해 start_ticks 를 따로 빼준답니다. ^^ 감사합니다.

    • @user-su8gv7sb6z
      @user-su8gv7sb6z 4 роки тому

      @@nadocoding 설명이 너무 친절하셔서 바로 이해가 됐습니다^^ 바쁘신 와중에 이렇게 답변을 해주시니 감사합니다ㅠㅠ

    • @nadocoding
      @nadocoding  4 роки тому

      @@user-su8gv7sb6z 자 그럼 진짜 이해하셨는지 퀴즈를... ㅋㅋ

    • @user-su8gv7sb6z
      @user-su8gv7sb6z 4 роки тому

      @@nadocoding ㅋㅋㅋㅋㅋ혼자 쫌 더 공부해 볼께요....

  • @user-kn9cz5fh6w
    @user-kn9cz5fh6w Рік тому +1

    강의 너무 잘 듣고 완성했습니다! 정말 도움되고 흥미로운 강의였어요. 친절하게 잘 알려주시고 단계별로 나눠서 진행해 복잡하지 않게 하나하나 이해할 수 있었습니다. 감사합니다!

  • @user-ii9yg2no7k
    @user-ii9yg2no7k 3 роки тому +7

    이번에도 어찌저찌 해보겠습니다 선생님 파이썬이 익숙해지는 그날까지...★
    1:41:35 무기 발사 처리
    1:45:12 공격 시 무기 위로 올라가게 조정
    1:54:00 공격당한 공 쪼개지고 늘어나고 하는거
    1:58:33 enumerate
    2:05:48 공 튕김처리 그림판 설명

  • @hee7mm
    @hee7mm 4 роки тому +6

    선생님 사랑합니다 강의진짜 잘보고있습니다 나중에 시간되시면 웹코딩도 올려주실수잇나요 이미 나도코딩님한테 중독되서 다른강의를 못보겟네요

    • @nadocoding
      @nadocoding  4 роки тому

      따뜻한 댓글 감사합니다 ^^ 파이썬 강의 이후 커리큘럼 구상 시 참고하겠습니다.

  • @user-do9vh3gi4z
    @user-do9vh3gi4z 4 роки тому +14

    책 한권 본 느낌, 아니 다른 책(파이썬 완벽가이드)에서는 언급되지 않은것도 볼 수 있어 좋았습니다. 추천입니다. ^^
    1:04:00

  • @user-vb8kj5np4f
    @user-vb8kj5np4f 3 роки тому

    수준 높은 강의를 볼 수 있는 게 마치 크리스마스 선물같습니다!
    45:12에 질문이 있는데, character_x_pos += to_x * dt를 해서 fps가 속도에 영향을 미치지 않게 하셨는데
    dt의 값이 fps에 따라 10, 30, 60 이렇게 다른 값이고 그 값을 곱해버리면 오히려 속도가 더 크게 차이나야할 거 같은데
    어째서 속도가 맞춰지는 건지 여쭤봅니다,,,
    메리 크리스마스

    • @nadocoding
      @nadocoding  3 роки тому +3

      dt = clock.tick()
      이 코드는 이전에 불려진 시점으로부터 현재 불려지는 시점까지의 시간을 ms로 반환해줍니다.
      그리고 clock.tick(30) 이렇게 함으로써 최대한 30 fps 내에서만 동작이 되도록, 소스코드 수행이 빨리 이루어지더라도 아직 시간이 되지 안 않았으면 기다리는 역할을 하지요.
      마치 회사에서 3일동안 하기로 했던 일을 하루만에 끝냈다고 해도 남은 2일은 다른 일을 미리 하지 않고 휴식을 취하는 것처럼요.
      fps 가 10이면,
      1초에 10번 동작하니까 매 동작 소요시간은 0.1초입니다.
      fps 가 20이면,
      1초에 20번 동작하니까 매 동작 소요시간은 0.05초입니다.
      그리고 이게 fps 에 따른 dt 값이 된답니다.
      만약 100 씩 이동한다고 정의되었다면, to_x 도 프레임마다 100씩 더해질텐데요
      fps 가 10이면 100 * 0.1초를 해서 이동거리가 10으로 보정이 됩니다.
      fps 가 20이면 100 * 0.05초를 해서 이동거리가 5로 보정이 됩니다.
      처음으로 돌아가서,
      fps 가 10이면 1초에 10번 동작하는데 이동거리가 10이니까 총 이동거리는 100이 되지요
      fps 가 20이면 1초에 20번 동작하는데 이동거리가 5니까 총 이동거리는 역시 100이 됩니다
      이런 식으로 fps 가 달라져도 1초에 이동거리는 동일하게 되는 거랍니다 ^^

    • @user-vb8kj5np4f
      @user-vb8kj5np4f 3 роки тому

      @@nadocoding 이렇게나 상세하게 답글을 남겨주실 거라곤 생각도 못했는데 정말 감사드립니다 ㅠㅠㅠ
      파이썬 뿐만 아니라 게임이 전반적으로 어떻게 만들어지는지까지도 이해가 돼서 너무 좋았습니다 !!!!!!
      감사합니당 ㅎㅎ

    • @hsbabu
      @hsbabu Рік тому

      Clock.tick()이 FPS값이 아닌 리프레시 시간을 반환해주는 함수로군요. 저도 이게 이해가 안됐었는데, 의문이 풀렸습니다!
      Print(dt) 해보면 FPS 값이 출력 되길래 당연히 이를 반환해주는건줄 알았네요.

  • @user-pm8yb7mb5s
    @user-pm8yb7mb5s 3 роки тому +11

    선생님 기초 6시간 듣고 왔어요 너무 재밋어요 활용편에선 또 어떤 수업으로 저한테 흥미를 주실지 기대되네용 좋은 강의 감사합니다.
    2:10:26

  • @bilb9
    @bilb9 3 роки тому +17

    28:27 이번에도 잘 따라가 보겠습니다~ 감사합니다.

  • @dudududu9597
    @dudududu9597 3 роки тому +4

    이 채널을 이제라도 알아서 다행이다. 감사합니다 8ㅅ8

  • @ess5108
    @ess5108 3 роки тому

    기본편 공부 끝내고 활용편 시작합니다. 강의가 너무 좋습니다. 활용편 기대됩니다.
    절말 감사합니다~~
    삶의 활력이 되네요^^

  • @Jinho_Baek
    @Jinho_Baek 3 роки тому +2

    안녕하세요, 6시간 강의영상 유익하게 봤습니다. 다름이 아니라 페인트를 이용해 만든 간단한 사각형을 사용할 때만 rect 사용이 가능한가요? 인터넷에서 퍼온 캐릭터를 사용하였을 때, rect 대신 어떤 것을 사용해야 하나요? 그리고 퍼온 캐릭터 사용시 더 복잡해질까요? 영상 잘 보고 있습니다. 감사합니다

    • @nadocoding
      @nadocoding  3 роки тому +2

      nightshadow.tistory.com/entry/pygame-의-스프라이트-충돌체크-방법
      위 링크의 설명을 참고하시면 도움될거에요 ^^

  • @mi_ni_mi_ni
    @mi_ni_mi_ni 3 роки тому +6

    누가 대신 코드 짜줘서 그런가 개재밌네요... ㅎㅎㅎㅎ 감사히 잘 볼게요!

  • @seonghyeonkim3227
    @seonghyeonkim3227 3 роки тому +37

    저도 나름 코딩강사랍시고 여기저기 강의 하며 다녔었고, 파이게임의 주제로도 강의한 적 있었는데,
    이 영상을 보니 제가 했던건 강의 축에도 못낀다는걸 느꼈습니다.
    가지고 계시는 지식도 훌륭하시지만, 그걸 전달하고 설명하시는 실력도 대단하시네요
    앞으로도 좋은 영상 기대하겠습니다.

  • @fredkim
    @fredkim 3 роки тому

    안녕하세요 기본편강의 듣고, 활용편으로 넘어왔는데요, 질문이 있습니다. 41:37 에 FPS 부분에서, 단지 'dt'라는 변수에 'clock.tick()'라는 int 값을 넣어줬을 뿐인데 어떻게 게임에 영향(여기선 게임속도가 느려지게끔)을 준건가요?

  • @gh00n20
    @gh00n20 3 роки тому

    음악도 넣고 싶은데 질문게시판에 있는 설명으로 만들자니 어려워서 잘 안되네요 ㅠㅠ...
    sfx1 = pygame.mixer.Sound('sounds/sfx01.ogg')에서
    FileNotFoundError: No such file or directory. 라고 뜨는데 어떻게 하나요?
    sounds 폴더 만들고 음악 파일 이름을 sfx01.ogg로 했는데 아예 잘못한 건가요?

  • @user-qb8ej9cn9z
    @user-qb8ej9cn9z 3 роки тому +14

    프로젝트 도입부에 게임 직접 해보는 거 피지컬 ㄷㄷ

  • @user-xp5zc7sh3e
    @user-xp5zc7sh3e 3 роки тому +15

    그 와중에 나는 저 사람 게임 잘하는거만 보이지..

  • @__-ws9yj
    @__-ws9yj 3 роки тому

    나도코딩님 강의영상 너무 감사드립니다ㅠㅠ 덕분에 많이 배워가요 ㅎㅎㅎㅎ
    그런데 이벤트 처리 부분에서 방향키를 눌러 이동하고 있을 때, 다른 키를 누르는 식의 다른 이벤트가 발생하면 캐릭터 이동이 멈춰지는 것은 어떻게 해결하는 지 여쭤봐도 될까요?
    음... 왼쪽으로 이동하면서 스페이스바를 누르면 이동하면서 공격한다거나, 왼쪽을 누르고 있다 오른쪽을
    추가로 눌렀을 때 오른쪽으로 가게 한다거나

  • @user-il8rz5nb2n
    @user-il8rz5nb2n 3 роки тому +1

    1:48:19초 입니다
    weapons = [ [w[0], w[1] - weapon_speed] for w in weapons]
    # 천장에 닿을 무기 없애기
    weapons = [ [w[0], w[1] - weapon_speed] for w in weapons if w[1] > 0]
    여기서 무기 위치 조정이랑 천장에 닿을 무기 없애기를 했습니다. 근데 여기서 for 문이 w[1] 좌표에서 weapons speed를 빼게 계속 반복해주는 건데 for 문을 앞에 안 쓰고 뒤에 써도 되나요? 한줄 for 문이어서 그런건가요?

  • @user-lj1ul3ts6w
    @user-lj1ul3ts6w 3 роки тому +12

    정말 최고의 강의입니다. 전 초딩,중딩,고딩은 알아도 코딩은 전혀 모릅니다. 그런 제가 강의하시는대로 따라 하니 조금씩 알게 되더라구여. 진심으로 감사드립니다. 목소리 최고, 강의 이끌어 가시는 스킬도 최고입니다. 복 받으실 거예요.

  • @syeom2696
    @syeom2696 4 роки тому +8

    말을 엄청 안정적으로 잘하시네요 짧은 시간도 아닌데 ㄷㄷ 앞쪽 설명 들으면서 똥피하기 생각났는데 퀴즈로 나와서 반갑네요 ㅋㅋㅋ

    • @nadocoding
      @nadocoding  4 роки тому +1

      헛 ㅋㅋㅋ 똥피하기를 먼저 떠올리시다니!! 통했네요 ^^ 강의 뒤로 갈수록.. 말을 많이 해서 그런지 목소리가 조금 허스키해집니다 ㅠㅠ 미리 양해 부탁드립니다 ㅋㅋ

    • @user-ws8qw3cj6d
      @user-ws8qw3cj6d 2 роки тому

      저도 해볼게유

  • @melonmask3940
    @melonmask3940 3 роки тому

    안녕하세요^^ 기본편 6시간은 열심히 들었습니다! 역쉬 최고세요^^
    근데 활용편에 들어와서는 pip install pygame 입력하고 엔터를 치면
    WARNING: You are using pip version 20.2.3; however, version 21.1.1 is available.
    You should consider upgrading via the 'c:\users\administrator\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip' command.
    이런 오류 메시지가 뜨는데 어떻게 해결해야 할까요?^^;;
    실은 제가 기본편부터 사용했던 것은 replit.com/ 이라는 사이트인데,
    혹시 여기에서 pip install pygame을 할 수가 있나요? 활용편에 들어와서는 replit.com/ 사이트에서는
    안 되는 것 같아 처음으로 파이썬을 피씨에 다운받고, 환경설정을 했는데, 막혀서 ... 공부를 접었다가 몇달만에 다시 시작해 볼려고 하는데, 역시 같은 문제에 봉착해서...
    길게 댓글 남겨봅니다^^ 언제나 좋은 영상 감사합니다!!!

    • @siwoncool
      @siwoncool 3 роки тому

      그건 pip커맨드 업그레이드 하라는 소리고요. 파이게임 모듈이나 내장모듈은 관련없으요. 그래도 업그레이드를 원한다면 오류메세지 그대로 터미널에 쳐보세요!

  • @Joohyunsang
    @Joohyunsang 3 роки тому

    문과 출신에 평생 코딩은 나랑 관련 없는 세상이라고만 생각하고 살았는데 나도 코딩님 덕분에 즐겁게 코딩 공부하고 있습니다. 유익하고 알고 쉬운 강의 감사합니다!!

  • @user-ku4zk6ri2q
    @user-ku4zk6ri2q 3 роки тому +4

    18:31 여기서 배경 적용했는데 왜 화면이 잠깐 뜨다가 다시 들어갈까요...?(스크린이 정의 되지 못했다는데요..)

    • @YH-ro9uh
      @YH-ro9uh 3 роки тому

      저도 여기서 헤맸는데
      이분 강의목록에 '소스코드 비교방법' 영상보시면 해결방법 나옵니다!

  • @the..9940
    @the..9940 4 роки тому +4

    진짜 대박... 지금 6시간 파이썬 기초 강의 듣는데 이 게임 목표로 꼭 완강할 겁니다 대박...

    • @nadocoding
      @nadocoding  4 роки тому +1

      ^^ 꼭 기초 강의 완주하시고 기억이 남아있을때 게임 프로젝트까지 완주 해버리세요 !! 감사합니다.

    • @user-wm8pj7oy7f
      @user-wm8pj7oy7f 4 роки тому

      난 이제다봄
      사실 기초편 1시간안봄

  • @changshiksin4648
    @changshiksin4648 3 роки тому

    기초편을 다보고 활용편을 보기 시작 했습니다. 이렇게 좋은 강좌를 만들어 주셔서 감사합니다.

  • @user-vu9rf6oj4m
    @user-vu9rf6oj4m 3 роки тому

    이런 퀄리티 강의를 무료로 올려주시는것에 감동입니다 ㅠㅠ 존경합니다.
    나도코딩님 강의 모든 영상 정주행 할 예정입니다.
    한가지 질문하고 싶은데 가능할지요 ㅠ
    weapon 부분 설정할때 여러 weapon을 사용 가능하게 하기위해 list에 넣어서 처리했습니다.
    근데 이 무기들 충돌처리를 하려면 무기들 각각의 rect를 따로 설정해줘야 하는 코드를 짜야하나요??
    예를 들어 10의 무기가 하늘에 닿기 전에 발사했으면 10번째 무기의 rect만 기억합니다 ㅠㅠ
    rect를 각각 따로 기억한 뒤
    for 루프 안에서 colliderect 를 해줘야 하나요??

    • @nadocoding
      @nadocoding  3 роки тому

      안녕하세요! 강의를 어디까지 보셨나요? 프로젝트 충돌처리 부분에서 모든 무기, 모든 공에 대한 처리가 진행되는데요, 각각의 무기에 대해서, 또 각각의 공에 대해서 for 문 내에서 rect 정보를 가져와서 충돌체크를 한 다음 충돌이 일어났으면 해당하는 값을 기억해뒀다가 for 문 밖에서 없애도록 가이드하고 있답니다. ^^

  • @user-lm6lm9ty1n
    @user-lm6lm9ty1n 3 роки тому +43

    초 5학년 입니다. 코딩이 재밌어서 이분 보고 시작했는데 제가 게임을 만들수 있을줄은 몰랐어요. ㅋㅋㅋ 친구한테 제가 만들었다 하니까 안믿더라고여.. 어쨋든 강의 정말 좋아요!!!

    • @user-vl3ls3wq7z
      @user-vl3ls3wq7z 3 роки тому

      고인물 ㄷㄷ

    • @user-hw4pk5jy4p
      @user-hw4pk5jy4p 3 роки тому +2

      저도 초5인데 C언어 파이썬 열심히 공부중입니다 만들어보니까 재밋더라구요 ㅎ

    • @user-ds7ll4fx3b
      @user-ds7ll4fx3b 3 роки тому +1

      중1 인데 내일 파이썬 함수 배워요
      + 현재는 코틀린으로 넘어가 앱개발 중

    • @user-uc1mi8de7f
      @user-uc1mi8de7f 3 роки тому +2

      난 중1인데.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ.ㅜ
      자바로 역전하겠습니다.

    • @user-tz7nr1ck9c
      @user-tz7nr1ck9c 2 роки тому +2

      저도 저번달 돌잔치 했는데요 코딩 정말 쉽네요ㅎㅎ

  • @user-in3rg9kd4s
    @user-in3rg9kd4s 3 роки тому +8

    54:43 텍스트) 책갈피

  • @2ife133
    @2ife133 3 роки тому

    wsl 환경에서는 pygame이 잘 돌아가지 않는다고 하네요. 제 파이썬도 우분투로 윈도우가 아닌 가상환경에 설치해두었는데, 윈도우에 하나 더 설치해서 사용 가능한가요? 아니면 따로 해결할 수 있는 방법이 있나요?
    영상 7분대에 화면 설정에서부터 'pygame.error: No available video device' 라는 에러가 뜨면서 막혔네요ㅎ;;

  • @user-no6eu2gy2p
    @user-no6eu2gy2p 3 роки тому

    오.. 뭔가 제가 진짜 게임 개발자가 된 기분이에요! 이런 좋은 강좌가 무료라니 참 좋네요 ! 감사합니다! 저같은 파이썬 print만 아는 사람도 이해를 하고 따라할수있다니!

  • @kimdonggun0923
    @kimdonggun0923 4 роки тому +4

    완전 온라인(?) 학원에 다니는것 같음 ㅎㅎㅎ

  • @kimdonggun0923
    @kimdonggun0923 4 роки тому +13

    53:29 실수는 누구나 합니다. 저도 해요 ㅎㅎㅎ

  • @wayne262
    @wayne262 Рік тому +1

    공 튀기는 것 까지는 다 잘되고 있는데 다만 나도코딩 님과 같은 숫자로 공과 캐릭터들의 속도를 설정하면 말도 안되게 빠른 속도로 나와서 영상과 큰 차이가 났습니다.. 대략 10배? 정도 낮춰야 속도가 영상이랑 비슷해지는데 이건 어떤 문제일까요??

  • @i.need.wildturkey.101
    @i.need.wildturkey.101 Рік тому

    230102 ~54:42 수강시작
    230103 54:42~1:50:42 퀴즈 완료, 프로젝트 이벤트 처리까지 완료(+코드 수정하여 무기 최대 2개 발사 가능하도록 설정)
    230104 1:50:42~2:27:38 공 튀기기 및 작은 공으로 쪼개기 구현 완료
    230105 2:27:38~ 수강 끝
    나코님의 코드를 일부 다르게 작성해서 그런 것인지는 모르겠지만 저는 다른 부분에서 버그가 나오는 것 같네요... 동일한 위치에서 무기 2개를 발사한 경우 무기에 맞지 않은 공이 사라지는 버그가 발견되는 것 같은데 저도 한 번 다시 코드를 검토해야 할 것 같습니다... 역시 코드 작성보다도 코드 리뷰, 에러 체크가 어렵게 느껴지네요.

  • @user-kc5uz9ry7j
    @user-kc5uz9ry7j 3 роки тому +6

    1:02:46 내가 볼려고!!

  • @user-sx1el5lx2s
    @user-sx1el5lx2s 3 роки тому +12

    배우다 보니까....
    컴퓨터 게임들 움직이는거 레알 어떻게 만든거야...

    • @diamonddj2751
      @diamonddj2751 3 роки тому

      유니티, 또는 다른 프레임 웤을 사용해 더 편리하게 만들죠 퍼이게임으로 만드는 사람은 많이 없는것 같아요 ㅎㅎ

  • @day-night
    @day-night 3 роки тому

    혹시 2:16:30 여기에서 pop 대신 -1을 넣어서 빼는 이유가 있나요?
    if weapon_rect.colliderect(ball_rect):
    weapons.pop(weapon_idx)
    balls.pop(ball_img_idx)
    전 새로운 변수 없이 이런 식으로 만들었는데, 동시에 부딪히면? 리스트 번호가 꼬이면서 문제가 생긴다던가 그럴 수 있을것 같기도 하고...

    • @nadocoding
      @nadocoding  3 роки тому

      일반적으로 개발을 하실 때 어떤 리스트를 순회하는 for 문 내에서 그 리스트의 항목을 삭제하거나 추가하는 것은 지양하는 것이 좋습니다. 순회 도중에 리스트 항목을 하나 삭제해버리면 그 다음 순회시에는 항목을 하나 건너뛰고 진행할 위험도 있고 다른 언어에서는 경우에 따라 아예 변경을 하지 못하도록 막는 경우도 있어요. 가급적 "어떤 항목을 삭제할지"를 기억해둔 다음 for 문 밖에서 지우는 것이 좋습니다.

    • @day-night
      @day-night 3 роки тому

      @@nadocoding 답변 감사합니다!

  • @user-jl3bj3no3s
    @user-jl3bj3no3s 3 роки тому

    자체적으로 게임 개발을 하다가 생긴 질문입니다
    screen.blit을 통해 글자를 screen에 그린 후에
    이를 없애고 다른 text를 그 위에 입힐 수 있는 방법은 없나요?
    제가 생각한 방법은 처음 띄운 글자의 투명도를 조절하는 것인데... 어떻게 해야될지를 잘 모르겠습니다 ㅠㅠ

    • @nadocoding
      @nadocoding  3 роки тому +1

      답변이 늦어 대단히 죄송합니다.
      screen.fill 을 통해서 전체를 채운 후에 다시 그리는 방법이 있습니다.
      아래 링크의 답변 내용을 참고 바랍니다.
      stackoverflow.com/questions/10467863/how-to-remove-replace-text-in-pygame

    • @user-jl3bj3no3s
      @user-jl3bj3no3s 3 роки тому

      @@nadocoding 아닙니다 ㅠㅠ 바쁘실텐데 답변 주셔서 정말 감사합니다! 덕분에 재밌게 잘 배우고 있습니다!!! 너무 개인적인 질문이라 정말 죄송하지만 주변에 마땅히 물어볼 사람이 없어서 질문드립니다. 제가 경제를 전공으로 하는 대학생 1학년인데 컴공 복전에 대한 생각이 많습니다. 그래서 이에 대해 궁금한게 많은데 컴공 복전에 대해서는 어떻게 생각하시는지 궁금합니다 ㅠ 항상 감사드립니다!

    • @nadocoding
      @nadocoding  3 роки тому

      적성이 맞으시다면, 꼭 해보시기를 권해 드립니다. "기술"이 있고 없고의 차이가 생각보다 크게 느껴지는 요즘입니다.

  • @tinypham1
    @tinypham1 3 роки тому +11

    어디서 어떻게 몇 년이나 노력하며 배우셨길래
    이렇게 설명하며 코딩을 자연스레 하시는 거죠..?
    초보자 입장으로 너무 감사하고 신기할 따름이예요
    나도코딩처럼 되고 싶습니다!! 하트하트

  • @user-ug1pv4zn8q
    @user-ug1pv4zn8q 3 роки тому +8

    54:58 텍스트 할 차례입니다~~

  • @ss-wl1xl
    @ss-wl1xl 2 роки тому

    선생님 강의 잘보고 있습니다. 감사합니다.
    다름이 아니고 38:00쯤에 이해가 잘 안되는 부분이 있어서 여쭤보려 하는데요,
    if character_x_pos < 0:
    character_x_pos = 0
    이게 'x좌표가 0보다 작으면 0으로 되돌린다' 라는 의미 아닌가요? 그러면 사실 화면 밖으로 삐져나갔다가 다시 돌아오는 식으로 작동하는거로 저는 이해를 했는데요,
    근데 실행시켜보면 화면 밖으로 애초에 안나가는 것처럼 보여서 지금 혼란스럽네요.
    제가 어느부분을 놓친건가요?

  • @jihoonkim7549
    @jihoonkim7549 3 роки тому +1

    와 몇일에 걸쳐 퀴즈 전반부 후반부 영상 안보고 클리어 한다고 시간이 꽤 걸렸습니다만 영상 놓치지 않고 다 봤습니다~ 감사합니다.

  • @user-mc1oi1vf5d
    @user-mc1oi1vf5d 4 роки тому +69

    그와중에 겜 개잘해......ㅋㅋㅋㅋㅋ

    • @nadocoding
      @nadocoding  4 роки тому +17

      ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  • @ole8412
    @ole8412 3 роки тому +3

    처음에 pygame 다운로드 할 때
    pip install pygame 을 쳐도 다운로드가 되질 않네요...

  • @VideoCamtasia
    @VideoCamtasia 3 роки тому +1

    감사합니다. 너무, 훌륭한 강의 .. 그리고, 광고도 없구오... 최고의 영상.. 감동X1000만배 입니다.

  • @user-jn2pp3os1c
    @user-jn2pp3os1c 3 роки тому

    영상 감사합니다. 많이 배우고 있습니다.
    혹시 퀴즈 부분을 따로 텍스트로 적어주실 수 있으신가요?
    따로 옮겨적기는 하는데 댓글이나 영상 설명란에 있으면 좀 더 빠르게 실습을 할수 있을듯 해서요

    • @nadocoding
      @nadocoding  3 роки тому

      ^^; 의견 감사합니다. 아쉽게도 따로 저장해둔 내용은 없어서 불편하시겠지만 스크린 캡처 등으로 저장 부탁드립니다.

  • @ManchesterCity_FC
    @ManchesterCity_FC 2 роки тому +4

    수업 진행하실 때 영상이 길면 집중이 떨어져서 가끔 놓지는 부분 있는데, 일일이 각주 달아주셔서 정말 효율적입니다. 진심으로 감사합니다 ㅜ

  • @Rtfgfgvv
    @Rtfgfgvv 4 роки тому +18

    1:07:43 까지 봤다

  • @user-ow6vs7iq7g
    @user-ow6vs7iq7g 3 роки тому +1

    늘 고생해주시는 모습.. 감사하고존경스럽습니다.. 질문게시판을 보구왔는데 없어서 여기다질문드려봅니다ㅠㅠ 전 나도코딩님께서 첨부해주신사진말고 네이버나 구글에서 다른이름으로 사진저장후 pygame background나 캐릭터에 적용하는데 가져오는 사진들마다 화질이 너무안좋습니다.. 나도코딩님께서는 웹에서 마음에드는 사진을 발견하셧을때 어떻게하면 최대한깔끔한 화질로 사용하시나요..?ㅠㅠ

    • @nadocoding
      @nadocoding  3 роки тому

      구글의 경우 이미지 검색에서 바로 받지 마시고 그 페이지에 직접 방문하셔서 받으면 어떠신가요? 제 경우에는 무료 이미지를 제공하는 곳에서 마음에 드는 것을 찾은 뒤에 다운로드를 받는데, 거의 고화질로 제공된답니다. freepik.com 이나 pixabay.com 에 좋은 이미지들이 많이 있으니 방문해보세요!

  • @user-if2qm2ls2x
    @user-if2qm2ls2x 3 роки тому

    안녕하세요 코딩수업 너무 잘듣고있습니다. 질문이 있는데요...if event.key == pygame.K_LEFT:to_x += 5라고 코드가 작성되어 있는데 이말은 키보드 방향키를 한번 눌렀을때 이벤트로 5만큼 이동한다는 얘기가 아닌가요? 키보드 방향키를 꾹 눌렀을때 이벤트가 반복적으로 일어나서 캐릭터가 화면끝까지 움직이는 이유가 궁금합니다. 코딩 초보라...ㅠㅠ

    • @nadocoding
      @nadocoding  3 роки тому

      답변을 수정하여 다시 작성합니다. 오른쪽 방향키를 누르면 pygame.KEYDOWN 이면서 pygame.K_RIGHT 인 이벤트가 딱 1번 발생합니다. 이 때 to_x += 5 에 의해서 to_x 는 5가 되며 계속 누르고 있어봤자 별다른 이벤트가 더 발생하지는 않습니다. 그래서 캐릭터의 위치는 계속 5씩 더해져서 끝까지 이동하게 됩니다. 키보드에서 손을 떼면 pygame.KEYUP 이면서 pygame.K_RIGHT 인 이벤트가 1번 발생하며 to_x 는 0으로 초기화됩니다. 더 이상 움직이지 않게 되지요. 키를 계속 누른다고 해서 계속 for 문을 반복하는 것은 아니며, 딱 한 번 KEYDOWN 이벤트가 발생하는 것이랍니다.

  • @wer9001
    @wer9001 4 роки тому +6

    2:20:02...

  • @user-zj8ki5sr3t
    @user-zj8ki5sr3t 3 роки тому +8

    28:27 책갈피

  • @kchris5464
    @kchris5464 2 роки тому

    FPS에서 영상 부분에서 character_x_pos += to_x*dt 부분에서 왜 dt를 곱하면 움직이는 속도가 일정해지나요?? dt = clock.tick(60) 이런식으로 되어있는데 60을 10으로 바꾸나 20으로 바꾸나 속도가 일정해지는 이유가 dt값이 고정되어있어서 그런거가요?
    이부분이 이해가 잘 되어지지 않네요ㅠ ㅠㅠ

  • @joysong7109
    @joysong7109 2 роки тому

    공 튕기기에서 enumerate 부분에 이해가 안되는 점이 있어 답답해 질문합니다. 이 부분을 이해가 안되 이것 저것 시도해보다가 enumerate를 딕셔너리 형태가 아니라 그냥 리스트 형식으로 시도해보았습니다. 그리고 ball_val["pos_x"]를 리스트 인덱스로 ball_val[0] 변경하여 실행하니 안되더라고요. 그래서 append()의 괄호 안에 {}게 딕셔너리로 묶어서 한 강의 내용을 참조해 괄호 안에 []로 값을 추가해 실행하니 이번엔 되더라고요. 이러면 리스트 안에 또 리스트가 있는 형식으로 "(ex) [[x, y, z]]"이렇게 되는데 왜 이건 되고 "(ex) [x, y, z]" 이건 for ball_idx, ball_val in enumerate(balls)로 안될까요?? 독학으로 도저히 해결이 안되고 어디 물어볼 곳이 없어 여기에 문의글 남깁니다. 에궁....글을 두서없이 남겼네요...ㅡㅡ 항상 질 좋은 강의 감사합니다. 그럼 수고하세요^^

  • @user-ef9ql3jd3q
    @user-ef9ql3jd3q 3 роки тому +4

    26:10

  • @호달
    @호달 3 роки тому +41

    싫어요 한 사람들은 딱봐도 프로그래밍 강의하면서 돈 버는 사람들인데 무료로 이런거 유튜브로 올리니 배알이 꼴리나 보네

  • @hornfrench5620
    @hornfrench5620 2 роки тому

    (39:34) 6.키보드 이벤트
    키보드 이벤트에서 키보드를 꾸욱 누루고 있을 때 명령이 계속 발생하는 건가요? 아님 한번 클릭 마다 한번 씩 위치가 움직이는게 정상인가요? 컴퓨터마다 다른가요?

  • @tempsmedia
    @tempsmedia 7 місяців тому

    수고하십니다. 궁금한게 있어서 여쭤봅니다.
    이런식의 하나의 파이썬 어플리 케이션의 경우에, 이것을 웹 페이지 상에서 구동 되게 하려면 뭘 공부해야 할까요
    이를테면 터틀이나,opencv등으로 구현한 파이썬 프로그램을 exe로 만드는 방법 말고,
    이것을 그냥 웹 페이지 상에서 클릭하면 페이지에서 구현되게 하려고 하는것인데,
    어떻게 학습을 해야 할지 궁금합니다.
    쉽게 예를들어서,그냥 단순한 터틀로 만들어진 코드가 있다고 할때, 그냥 별을 하나 그리던가 하는 아주 단순한 코드라고 할때..
    이걸 어떤 웹 페이지를 클릭했을때 실행되게 하는 작업인데, 어떻게 들어가야하는지.. 생각보다 복잡할것 같지는 않은데,
    추가적으로 뭘 공부를 해야 하는지.. 예전에 flash 애니메이션 이라면 그냥 src로 삽입하면 되는데..
    그렇게는 안될거고... 파이스크립트가 있어서 잠시 봤더니 얘네들은 turtle같은게 지원이 안되고,
    웹사이트 중에서 trinket이라고 있는데 이쪽에서는 코드를 받아서 보여주기는 하는데,
    제가 원하는건 이걸 직접 구현했으면 하는데요.. 어떤 봐야 될까요?
    막상 생각해보면 그렇게 어려울것같지 않은데, flask를 봐야될까요?
    그런데 그건, 웹 서버에서 동작하는 그런것과 연관된 강좌들만 주로 보여서 제가 찾는게 아니더라구요.
    두줄로 요약할게요
    1. 단순한 파이썬으로 짠 터틀 코드가 있다. (별 그리기.예를들어)
    2. 이걸 웹 페이지에서 열때 실행되게 하고 싶다. 어떤걸 공부를 해야 할까요?

    • @와_얼불춤
      @와_얼불춤 4 місяці тому

      gradio 좋아보여요
      그리고 streamlit 이라는 것도 있던데요 이건 진짜 html css js 대신 쓸 수 있는것 같아요!

  • @user-ql6vu3wk6v
    @user-ql6vu3wk6v 3 роки тому +6

    “음..이렇게 하면 될려나..?”
    가능합니다 파이썬이거든요

  • @user-xd6lx4gk5p
    @user-xd6lx4gk5p 3 роки тому +3

    프로그램 하지마라 선배로써 피흘리며 충고한다 조선에서는 하지마라

  • @apack1004
    @apack1004 3 роки тому

    정말 좋은 강의 감사드리며, 살살 녹는 목소리와 명쾌하고 정확한 코딩, 프로의 모습이 넘칩니다.
    코딩 하나 한 따라가다 보니, 벌써 완주하고, 마지막에 시연하시는 리얼 이미지와 함께 수행되는 것을 보면서
    와~우~ 정말 게임이 환상적입니다.
    마지막 실제 이미지 공의 모서리 부분을 바탕화면 이미지로 보여지게는 어떻게 하는 스킬 인지요 ?
    ( 그림판에서 이미지을 그려서 흰색으로 보여지는데, 완벽한 게임의 이미지는 모서리 처리인거 같은데, 어떻게 구현가능한지 가르쳐 주세요 )

  • @user-lz2bz5dw9v
    @user-lz2bz5dw9v 2 роки тому +1

    17:28부분에 배경그리기 부분에서
    screen = pygame.display.set_mode((screen_width, screen_height))
    코드를 적어두 screen변수가 none이라고 뜹니다
    그래서 screen.blit(background,(0,0)) 코드를 적어도
    'NoneType' object has no attribute 'blit' 라고 오류가 발생하는데 어떻게 해결해야 할까요?

    • @user-lz2bz5dw9v
      @user-lz2bz5dw9v 2 роки тому

      (메모1)
      pygame.display.set_caption("Nado Game")이라고 적어야 하는데
      screen = pygame.display.set_caption("Nado Game")이라고 적어서 반환값이 없던 것

  • @user-dw3sg6iy3q
    @user-dw3sg6iy3q 3 роки тому

    질문입니다!
    balls = []
    balls.append({
    "pos_x" : 50, # 공의 x 좌표
    "pos_y" : 50, # 공의 y 좌표
    "img_idx" : 0, # 공의 이미지 인덱스
    "to_x" : 3, # 공의 x 축 이동방향, -3이면 왼쪽 , 3이면 오른쪽으로
    "to_y" : -6, # 공의 y 축 이동방향
    "init_spd_y" : ball_speed_y[0] # y 최초 속도
    })
    볼의 리스트를 만들고
    2:12:07을 보면
    for ball_idx, ball_val in enumerate(balls): 라고 for문을 작성하는데
    ball_idx에는 리스트 balls의 어떤 값이 들어가는거고 ball_val에는 리스트 balls의 어떤 값이 들어가면서 반복되는건가요? ㅠㅠ 이해가 안되요.

    • @user-dw3sg6iy3q
      @user-dw3sg6iy3q 3 роки тому

      질문 해결했습니다. ball_idx에는 리스트 인덱스번호(0, 1, 2, 3)이 들어가고 ball_val에는 말 그대로 리스트 값 안의 내용들이 들어가네요.

    • @user-dw3sg6iy3q
      @user-dw3sg6iy3q 3 роки тому

      질문 해결하면서 활용편1 마무리했습니다. 항상 감사합니다.

    • @nadocoding
      @nadocoding  3 роки тому

      답변이 늦어 대단히 죄송합니다 ㅠㅠ 잘 해결해셨다니 다행입니다 ^^ 열심히 공부해주셔서 감사합니다.

  • @user-vz1nw8hg3n
    @user-vz1nw8hg3n Рік тому

    선생님 감사합니다 ! 코딩 처음 공부하는데 기본과 활용편1을 보고 3일 만에 응용해서 제가 직접 비슷한 미니게임을 만들 수 있게 됐습니다! 코딩이 이렇게 재미있는 줄 미리 알았다면 좋았을텐데 ㅠㅠ 빨리 어려운거 만들면서 골머리 싸보고 싶네요

  • @user-hg8lq9qw6j
    @user-hg8lq9qw6j Рік тому

    나도코딩님 덕분에 정말 즐거운 코딩 공부 하고 있습니다.
    다른 편들은 꾸준히 조금씩 수강 중인데 게임 편은 손도 안 댔거든요.
    업무 적용/활용이 목적이면 게임 편은 굳이 안 들어도 되겠지요?
    아니면 이 수업도 들어두면 나름대로 적용할 수 있는 포인트가 있을지.. 궁금합니다.

    • @nadocoding
      @nadocoding  Рік тому

      게임 개발편은 흥미를 위해 준비한 주제입니다. 실제 모바일 게임을 만든다고 해도 파이썬으로는 권해드리지 않구요. 업무 적용을 위해서라면 이번 편은 건너뛰셔도 좋습니다 ^^

    • @user-hg8lq9qw6j
      @user-hg8lq9qw6j Рік тому

      @@nadocoding 감사합니다. 빨리 다음 편이 나왔으면 좋겠습니다 ㅠ.ㅠ

    • @nadocoding
      @nadocoding  Рік тому

      @@user-hg8lq9qw6j 게임 제외하고 활용편 모두 다 들으셨나요...??

    • @user-hg8lq9qw6j
      @user-hg8lq9qw6j Рік тому

      @@nadocoding 아니요.. 제가 하나에 오래 집중을 못 하는 편이라 지금까지 나온 7편을 30분~1시간씩 돌아가면서 듣고 있습니다 ㅎㅎ... 이 방법이 저한테 제일 잘 맞더라고요. 근데 지금 GUI 프로그래밍 쪽을 거의 다 들어서요

    • @nadocoding
      @nadocoding  Рік тому

      @@user-hg8lq9qw6j 아아.. 그렇군요 ^^; 파이썬 마지막 활용편은 아마 내년이 되어야 완료가 될것 같습니다. 그간 다른 강의들을 준비중이라.. 활용편을 다 들으시게 된다면 실전 프로젝트로 단편 강의들도 준비되어 있으니 재생 목록에서 확인 부탁드립니다 ㅎㅎ 정말 열심히 하시네요. 대단하십니다.

  • @user-do5re7pd2h
    @user-do5re7pd2h 3 роки тому

    감사합니다~! 너무 재밋게 배우고 있습니다!

  • @user-yv8rr4se4y
    @user-yv8rr4se4y 3 роки тому

    안녕하세요. 강의 정말 잘 듣고 있습니다. 강의를 듣던중 1:46:00 에 한줄for문에서 weapons = [ [w[0], w[1] - weapon_speed] for w in weapons]에서
    for w in weapons:
    weapons.append([w[0], w[1] - weapon_speed]) 로 쓰면 memory error가 발생합니다. 왜 그런지에 대한 이유와 어떻게 해결해야 하는지 알 수 있을까요?

    • @nadocoding
      @nadocoding  3 роки тому

      for w in weapons:
      weapons.append...
      이렇게 하면 반복문을 돌면서 계속 weapons 에 추가가 되므로 반복문이 끝나지 않고 계속해서 weapons 는 커져만 가다가 에러가 납니다. 이 때는 새로운 리스트로 만드셔서 하면 됩니다.
      new_weapons = []
      for w in weapons:
      new_weapons.append...
      weapons = new_weapons

    • @user-yv8rr4se4y
      @user-yv8rr4se4y 3 роки тому

      @@nadocoding 아..감사합니다!

  • @user-ow2kl4uu8j
    @user-ow2kl4uu8j 2 роки тому

    안녕하세요?
    올려주신 강의 너무나도 유익하게 보면서 배우고 있습니다.
    다름이 아니오라,
    제가 강의를 따라서 타이핑하다 보니, 에러가 나는 부분이 있어서요.
    어디냐면
    영상 15:46 부분의 "screen.blit" 부분에서 오류가 생깁니다.
    오류 메시지는 "NameError : name 'screen' is not defined" 입니다.
    그런데 아무리 살펴도 선생님의 코드와 제 코드에는 아무 차이(오타나 띄어쓰기, tab 등등)가 없더라구요...
    왜 이런 일이 생기는 걸까요?
    이것때문에 따라해보질 못하고 그냥 강의만 보고 있습니다...
    귀찮으시더라도 답변 달아주시면 영광이겠습니다.
    너무나도 감사드립니다!!!

  • @user-zl5uj9pl4q
    @user-zl5uj9pl4q 3 роки тому +1

    공이 안튕기고 바닥에 떨어져요 어떻게 해야하나요??
    소스코드:import os
    import pygame
    ##############################################################
    # 기본 초기화 (반드시 해야 하는 것들)
    pygame.init()
    # 화면 크기 설정
    screen_width = 640 # 가로 크기
    screen_height = 480 # 세로 크기
    screen = pygame.display.set_mode((screen_width, screen_height))
    # 화면 타이틀 설정
    pygame.display.set_caption("Pang Pang")
    # FPS
    clock = pygame.time.Clock()
    ##############################################################
    # 1. 사용자 게임 초기화 (배경 화면, 게임 이미지, 좌표, 속도, 폰트 등)
    current_path = os.path.dirname(__file__) #현파일 위치 반환
    image_path = os.path.join(current_path, "images") #이미지 폴더 위치 반환
    #배경
    background = pygame.image.load(os.path.join(image_path, "background.png"))
    #스테이지
    stage = pygame.image.load(os.path.join(image_path, "stage.png"))
    stage_size = stage.get_rect().size
    stage_height = stage_size[1] #스테이지 높이
    #캐릭터 만들기
    character = pygame.image.load(os.path.join(image_path, "character.png"))
    character_size = character.get_rect().size
    character_width = character_size[0]
    character_height = character_size[1]
    character_x_pos = (screen_width / 2) - (character_width / 2)
    character_y_pos = screen_height - character_height - stage_height
    # 캐릭터 이동 방향
    character_to_x = 0
    #캐릭터 이동 속도
    character_speed = 5
    #무기
    weapon = pygame.image.load(os.path.join(image_path, "weapon.png"))
    weapon_size = weapon.get_rect().size
    weapon_width = weapon_size[0]
    weapons = []
    #무기 이동 속도
    weapon_speed = 10
    #공
    ball_images = [
    pygame.image.load(os.path.join(image_path, "balloon1.png")),
    pygame.image.load(os.path.join(image_path, "balloon2.png")),
    pygame.image.load(os.path.join(image_path, "balloon3.png")),
    pygame.image.load(os.path.join(image_path, "balloon4.png"))]
    ball_speed_y = [-18, -15, -12, -9]
    balls = []
    balls.append({
    "pos_x" : 50,
    "pos_y" : 50,
    "img_idx" : 0,
    "to_x": 3,
    "to_y": -6,
    "init_spd_y":ball_speed_y[0]})
    running = True
    while running:
    dt = clock.tick(30)

    # 2. 이벤트 처리 (키보드, 마우스 등)
    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    running = False

    if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
    character_to_x -= character_speed
    elif event.key == pygame.K_RIGHT:
    character_to_x += character_speed
    elif event.key == pygame.K_SPACE: #무기발사
    weapon_x_pos = character_x_pos + (character_width / 2) - (weapon_width / 2)
    weapon_y_pos = character_y_pos
    weapons.append([weapon_x_pos, weapon_y_pos])
    if event.type == pygame.KEYUP:
    if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
    character_to_x = 0
    # 3. 게임 캐릭터 위치 정의
    character_x_pos += character_to_x
    if character_x_pos < 0:
    character_x_pos = 0
    elif character_x_pos > screen_width - character_width:
    character_x_pos = screen_width - character_width
    #위치조정
    weapons = [ [w[0], w[1] - weapon_speed] for w in weapons]
    weapons = [ [w[0], w[1]] for w in weapons if w[1] > 0]
    for ball_idx, ball_val in enumerate(balls):
    ball_pos_x = ball_val["pos_x"]
    ball_pos_y = ball_val["pos_y"]
    ball_img_idx = ball_val["img_idx"]
    ball_size = ball_images[ball_img_idx].get_rect().size
    ball_width = ball_size[0]
    ball_height = ball_size[1]
    #공튀기기
    if ball_pos_x screen_width - ball_width:
    ball_val["to_x"] = ball_val["to_x"] * -1
    if ball_pos_y >= screen_height - stage_height - ball_height:
    ball_val["to_y"] = ball_val["init_spd_y"]
    else:

    ball_val["to_y"] += 0.5

    ball_val["pos_x"] += ball_val["to_x"]
    ball_val["pos_y"] += ball_val["to_y"]


    # 4. 충돌 처리
    # 5. 화면에 그리기
    screen.blit(background, (0, 0))
    for weapon_x_pos, weapon_y_pos in weapons:
    screen.blit( weapon, ( weapon_x_pos, weapon_y_pos))
    for idx, val in enumerate(balls):
    ball_pos_x = val["pos_x"]
    ball_pos_y = val["pos_y"]
    ball_img_idx = val["img_idx"]
    screen.blit(ball_images[ball_img_idx], (ball_pos_x, ball_pos_y))
    screen.blit(stage, (0, screen_height - stage_height))
    screen.blit(character, (character_x_pos, character_y_pos))

    pygame.display.update()
    pygame.quit()

  • @user-df8pi2dc4k
    @user-df8pi2dc4k 3 роки тому

    교수님! 좋은 강의 정말 감사합니다ㅠㅜ 다만 문제가 있는데 제 컴퓨터가 맥북입니다 근데 교수님은 파이썬 실행하면 조그마한 창이 생겨서 파이썬 코드 바탕으로 실행되는 모습을 볼 수 있는데 맥북은 그런기능이 없는걸까요??ㅠㅠ 실행을 시켜도 시각적으로 보이질 않으니 답답해요 도와주세여...

    • @user-df8pi2dc4k
      @user-df8pi2dc4k 3 роки тому

      + 추가적으로 찾아보니 파이참이라는 IDE도 있던데 VSC말고 파이참을 이용하는게 나을까요?

    • @nadocoding
      @nadocoding  3 роки тому

      맥북에서는 일부 버전 호환성 문제가 있답니다. 터미널에서 pip3 install pygame==2.0.0.dev6 명령으로 설치 해보세요 ^^

    • @nadocoding
      @nadocoding  3 роки тому

      선택의 문제입니다. vscode 나 파이참 모두 훌륭한 툴이니, 원하시는 것으로 하시면 됩니다.

    • @user-df8pi2dc4k
      @user-df8pi2dc4k 3 роки тому

      와.. 친절하고 빠른답변 정말 감사드립니다!!ㅠㅜ 일단 터미널로 새로 설치해보았습니다. 근데 VSC들어가 실행누르면 터미널에는 실행되었다고는 뜨는데 윈도우처럼 실행되는게 시각적으로 보이지가 않네용.. 이건 맥의 한계일까요??

    • @nadocoding
      @nadocoding  3 роки тому

      @@user-df8pi2dc4k 아니요. 맥에서도 잘 실행됩니다. 아예 창이 뜨질 않나요? 에러메시지는 없나요?

  • @ellaseo5578
    @ellaseo5578 2 роки тому

    정말 쉽게, 듣기 편한 목소리로 가르쳐주시네요 감사합니다 :) 띄어쓰기 철저한 주석들 보면서 문과생인 제 마음도 편안해졌습니당💗 근데 저만 이 게임 깨기 어렵나요..ㅋㅋ제일 어려운 부분이 게임에 성공해서 Mission Complete가 제대로 화면에 뜨는지 확인 하는 부분이었어요.......

  • @khahn3604
    @khahn3604 2 роки тому

    2:08:00 쯤에 질문이 있습니다~!
    1. 처음 balls 리스트에 추가(설정)된 공의 초기 값 중 y좌표값(pos_y)은 +50입니다.
    2. to_y 값은 -6 이고, 바닥에 닿지 않는 한 + 0.5가 됩니다. 그럼 바로 -5.5가 됩니다.
    3. 그럼 pos_y에 50+(-5.5)를 하면 y좌표값이 44.5로 작아집니다.
    여기서 질문, y값이 작아졌으니 실행하자마자는 공이 올라갸야(y값이 작아져야)하는데
    실행을 시켜보면 공 이미지가 바로 아래로 떨어지더라구요(y값이 상승)
    이유가 뭔지 알 수 있을까요? ㅠㅠ코드를 한참들여다봐도 코린이라서 그런지 이해가 안가네요..

    • @khahn3604
      @khahn3604 2 роки тому

      ㅋㅋ질문을 올리고 나서 실행시켜보니 공이 아주 잠깐 올라갔다가 바로 떨어지네요..ㅋ큐ㅠ

  • @user-ks5qn8zf1f
    @user-ks5qn8zf1f 3 роки тому

    정말 좋은 강의 감사드립니다!
    그런데 지금도 답변을 해주실지 모르겠지만, 질문이 하나 있습니다.
    캐릭터가 이동할 때 to_x += speed 식으로 되는데, 그러면 오른쪽 키를 꾹 누르고 있을 때 speed가 계속해서 더해지면서 이동속도가 점점 빨라져야하는 것이 아닌지요? 그래서 to_x = speed 식으로 작성해야 일정한 속도로 이동하는 것이 아닌지 궁금합니다.
    사실 실제로 해보면 이동속도가 점점 빨라지는 것 같지가 않은데 왜 그런건지 궁금하네요.
    혹시 다른 고수분들도 답변 해주시면 감사하겠습니다..!

  • @G2V0803
    @G2V0803 3 роки тому

    15:45 부분을 입력하고 실행하면 게임창이 뜨지않고 TERMINAL에 IndentationError : unindent does not math any outer indentation level 이라고 뜨는데 뭐가 잘못된 것인가요? 아님 혹시 버전이 3.9.0 64-bit 인데 이것 차이일까요?

    • @G2V0803
      @G2V0803 3 роки тому

      다시 입력해봤더니 NameError: name 'screen' is not defined 이라고 뜨네요...뭐가 문제일까요.. 저 부분을 입력하지 않고 실행하면 창은 잘 떠요.

    • @nadocoding
      @nadocoding  3 роки тому +1

      코드 윗쪽에
      screen = pygame.display.set_mode(...)
      이렇게 해주세요 ^^

    • @G2V0803
      @G2V0803 3 роки тому

      @@nadocoding pygame.display......은 썼는데 앞에 screen = 을 안적었었네요 답변 감사드립니다!

  • @DKW-cg4tp
    @DKW-cg4tp 3 роки тому

    정말 댓글을 안달수 없게 만드시네요^^ 정말 유익한 강의 너무 좋습니다. 항상 감사합니다

  • @dfe2847
    @dfe2847 2 роки тому

    4:31
    ModuleNotFoundError: No module named 'pygame'

  • @켁켁바
    @켁켁바 3 роки тому +1

    좋은 강의 감사합니다. MACOS(Catalina)에서 실습을 진행하려고 하는데 pip로 pygame이 설치되지 않아 애먹었네요.
    모하비 업데이트 이후로 맥에서 /usr/include 폴더가 없어져서 필요한 header 파일들을 찾지 못하는 것 같더군요.
    맥에서 실습하실 분들은
    pip install pygame --only-binary :all:
    명령어를 통해 바이너리 버전을 설치하시면 됩니다.

  • @hansikoh7224
    @hansikoh7224 3 роки тому

    키보드 이벤트에서 for문 안에 if event.type == pygame.QUIT과 if event.type == pygame.KEYDOWN, if event.type == pygame.KEYUP 이렇게 세개의 if문이 병렬로 되어있는데 elif가 아니라 if로 해도 같은 결과가 나오나요? 아니면 if로 병렬하신 이유가 무엇일까 궁금합니다 ㅠ