728x90
반응형

pygame 9

[pygame] 09. 텍스트 사용

🙆‍♂️ 변수 설정 """ 3. 게임 내 필요한 설정 """ . . . #적기 격추 = shootDown shootDown=0 #적기 놓침 = missed missed=0 #포인트값 #point = (shootDown*100)-(missed-50) point=0 . . . """ 4. 메인 이벤트 """ . . . """ 4-3. 입력과 시간에 따른 변화 """ . . . for i in cd_del_enemList: del enemList[i] #적기 제거 shootDown += 1 #적군 격추 시 증가 point += 100 #적군 격추 시 포인트 100 증가 for i in del_enemList: del enemList[i] missed+=1 #적기 놓치면 증가 point-=50 #적기 놓치면 -..

앱 개발/pygame 2022.11.09

[pygame] 08. 피격 판정

🙆‍♂️ 피격 판정 객체 삽입한 이미지들 끼리 만난다면 특별한 이벤트를 진행하는 방향으로 설정합니다. 총알과 적군이 충돌하면 적군이 사라지도록 적군과 본체가 충돌하면 게임이 끝나도록 등이 있는데 우선 총알과 적군이 충돌하면 적군이 사라지도록 하고 적군의 HP를 늘려서 특정 값 이상 맞아야 사라지도록 해보겠습니다. 충돌의 범위는 이렇습니다. b.x의 범위는 a.x-b.oX < b.x < a.x+a.oX b.y의 범위는 a.y-b.oY < b.y < a.y+a.oY 입니다. 한국어로 풀어쓰면 A의 좌표 - B의 좌표 < b.x, b.y < A의 반대편 좌표(저기 빨간 동그라미 부분) 입니다. 🙆‍♂️ 적군, 총알 충돌 판정 #충돌 탐지 함수 """ 충돌 탐지 함수 서로 다른 이미지들이 충돌하면 True값을 ..

앱 개발/pygame 2022.09.29

[pygame] 07. 적 생성

🙆‍♂️ 적 생성 먼저 적기로 사용할 png 파일을 해당 경로에 저장합니다. import random # 4. 메인 이벤트 . . . #적군 리스트 enemList=[] # 4.3 입력과 시간에 따른 변화 . . . #랜덤 적기 생성 if random.random() >0.9: enemy1 = createObj() enemy1.insertImg(r'image\enemy1.png') enemy1.setSize(50,80) enemy1.x = random.randrange(size[0]-enemy1.oX)#-round(hero.oX/2) enemy1.y = 15 enemy1.move = 10 enemList.append(enemy1) 우선 적기 객체를 위와 같이 생성할 수 있습니다. 전에 했던 총알 만드는 ..

앱 개발/pygame 2022.09.27

[pygame] 06. 총알 쏘기

🙆‍♂️ 총알 쏘기 먼저 저는 총알로 사용할 png 파일을 이 프로젝트 파일 밑에 있는 image 폴더에 넣었습니다. 코드를 작성해보면 먼저 키 입력 부분을 설정해줍니다. #KeyDown되면 활성화 if event.type == pygame.KEYDOWN: . . . if event.key == 32 or event.key == 107: shot = True #KeyUp 되면 비활성화 elif event.type == pygame.KEYUP: . . . if event.key == 32 or event.key == 107: shot = False 키 입력하는 부분에 space bar가 입력될 때(event.key==32)와 k가 입력될 때(event.key==107)를 변수 설정을 해줍니다. ###초기화..

앱 개발/pygame 2022.09.22

[pygame] 05. 캐릭터 움직이기

🙆‍♂️ 입력 감지 #입력 감지 for event in pygame.event.get(): . . print(event) 이렇게 입력 감지를 해볼 수 있습니다. 실행을 하고 a키와 d키를 눌러보니 이렇게 출력이 됐습니다. 신기한거는 마우스 이동에 따른 좌표도 기록되는 것이였습니다. 이를 통해서 다른 게임도 만들 수 있겠네요. 이제 이 입력된 키를 특정해보는 코드를 작성해보겠습니다. if event.type == pygame.KEYDOWN: print(event) 위 처럼 이벤트가 KEYDOWN인 것만 필터링 해서 보면 잘 나오는 모습입니다. 이번에는 a키만 입력됐을 때만 출력하게 하면 if event.type == pygame.KEYDOWN: if event.key == 97: print("Insert ..

앱 개발/pygame 2022.09.22

[pygame] 04. 코드 클래스화

🙆‍♂️ 클래스화 저번 게시글에서 캐릭터를 추가하는데 너무 많은 코드가 늘어났습니다. 앞으로도 다양하게 추가해야할 부분들이 많을텐데 그 때마다 이런식으로 하기에는 너무 힘듭니다. 그렇기 때문에 클래스를 사용해서 겹치는 코드들은 간단하게 표현하도록 하겠습니다. #클래스 생성 class createObj: def __init__(self): 함수를 선언하기 위해서는 class로 선언할 수 있습니다. 그리고 가장 먼저 __init__이라는 함수를 생성하는데 이는 생성자로 시작할 때 생성될 변수들을 넣어줍니다. x,y 좌표가 필요할 것 같습니다. class createObj: def __init__(self): self.x = 0 self.y = 0 이렇게 x좌표와 y좌표가 들어갈 값을 0으로 초기화 해주고 나..

앱 개발/pygame 2022.09.19

[pygame] 03. 캐릭터 넣기

🙆‍♂️ 사진 불러오기 # 3. 게임 내 필요한 설정 . . . hero = pygame.image.load(r'image\blackEagle.png').convert_alpha() 먼저 위의 코드처럼 설정을 해줬습니다. jpg 파일이라면 .conver_alpha() 부분을 적지 않아도 되지만 png파일이라 적었습니다. 경로는 절대경로로 해도 되고 상대경로로 해도 되는데 다른 컴퓨터에서 실행하기 위해서는 상대경로가 편하기 때문에 상대 경로를 이용했습니다. 제 파일은 이렇게 jupyter파일인 .ipynb파일과 image 폴더가 같은 위치에 있기 때문에 바로 imgae 폴더로 이동해서 해당 사진과 접촉할 수 있었습니다. 그리고 자세히 보면 문자열 앞에 r을 써서 원시 문자열로 처리해주는 것인데 파일 경로에..

앱 개발/pygame 2022.09.17

[pygame] 01. 게임 초기화와 게임 초기 설정

🙆‍♂️ 게임 초기화 # 1. 게임 초기화 pygame.init() 게임 초기화는 간단하게 pygame의 내장 함수인 init()함수를 사용하면 됩니다. 🙆‍♂️ 게임 창 옵션 설정 # 2. 게임 창 옵션 설정 size = [400,900] screen = pygame.display.set_mode(size) 먼저 화면 크기는 [가로, 세로]의 값을 설정해주는데 설정한 값을 size변수에 넣고 pygame의 display의 내장 함수인 set_mode의 인자값으로 넘깁니다. 그리고 이 코드를 screen이라는 변수로 저장합니다. 나중에 계속해서 사용하기 때문입니다. title = "Korea 1947" pygame.display.set_caption(title) 그리고 이렇게 게임 제목을 정할 수 있습니..

앱 개발/pygame 2022.09.05
728x90
반응형