dico.gif


DANG.gif

giphy---복사본.gif

i15947420946.gif

huuon2.gif



♨신규 게시물♨




♨신규 댓글♨




♨랭킹 TOP 50♨


  1. 사나 28,441
  2. 치즈돈가스덮밥 24,653
  3. 투혼v 23,770
  4. ZicP 20,948
  5. 호날두마리치킨 17,455
  6. 김돈치 12,414
  7. 에케덟 11,551
  8. 반가워용 11,138
  9. 자료구 10,520
  10. 안인시우안 9,949
  11. 타이갓 8,981
  12. 도리고 8,935
  13. 브랜뉴 8,848
  14. 악당 8,688
  15. 헉헉로 8,453
  16. 킴성태와함께 8,124
  17. kimjg 7,460
  18. Ollie 5,925
  19. 피요옹 5,350
  20. 노트 4,691
  21. 지금몇시지 4,644
  22. 밍정잉 4,534
  23. 도리toS 4,393
  24. 염탐맨 4,304
  25. 은당수 4,108
  26. 뉴비임다 3,820
  27. 틸란 3,554
  28. 모두모두파이팅 3,525
  29. 원솔 3,486
  30. 인도남자 3,115
  31. 유미코 2,970
  32. 셍스 2,761
  33. 무무기 2,613
  34. 남동현 2,560
  35. 와룡 2,539
  36. 택이 2,439
  37. 가국가가 2,439
  38. 코난 2,419
  39. 츠이게스레가 2,418
  40. gurdl20 2,393
  41. 빛나는길 2,346
  42. KIM 2,316
  43. 살수가없다 2,272
  44. 제리이라아 2,206
  45. 라일리 2,200
  46. 리신 2,168
  47. 선하 2,163
  48. f3sads 2,147
  49. Jong 2,079
  50. 개나리 2,058

6faa2286ccd015fb37f28f688e13eac6.png

파이썬을 이용한 간단한 메이플스토리 만들기(5/20) - 회원가입 및 로그인 기능 수정 및 다음 화면 만들기

지금몇시지2019.08.10 06:55조회 수 41댓글 1

  • 6
    • 글자 크기

파이썬을 이용한 간단한 메이플스토리 만들기(5/20) - 회원가입 및 로그인 기능 수정 및 다음 화면 만들기

 

소스는 올려놨습니다. 다음 수업을 위해(호영) 소스를 다운받아주세요

오늘은 오랜만에 강의니만큼 간단하고 간결하게 하겠습니다. 저번에 만든 회원가입 기능을 약간 바꿔줄게요

저번에는 아이디를 만들때 로그인으로 만들고 로그인으로 로그인했는데 ID만들기 라는 버튼을 추가해주겠습니다.

또한 다음 화면을출력해줄게요.(다음화면 이래봤자 회색화면입니다) 

id_register.png 

14.PNG

15.PNG

16.PNG

17.PNG

 

저번에 만든 그 이상한 로그인 기능을 수정해주었습니다.

 

class game:

def __init__(self):

self.state = 0

def system(self):

global play

 

if self.state == 0: # 로그인 화면

login.system()

 

elif self.state == 1: # 다음 화면

for event in pygame.event.get():

if event.type == pygame.QUIT:

play = False

 

게임이라는 클래스를 생성하여 다음화면으로 넘어갈수있게 하였습니다.

여기 부분은 어려운게 없어서 설명은 생략하겠습니다.

 

 

# 클래스 생성

login = login()

game = game()

 

while play:

screen.fill((226, 226, 226))

game.system() # <- 여기 부분은이제 저번에는 login.system이였는데 game 의 메소드를 호출하게 바꿨습니다.

 

pygame.display.update()

 

class login:

def __init__(self):

# 이미지 관련

self.titles = [ pygame.image.load("resource\image\\title.png"), pygame.image.load("resource\image\\title2.png"), pygame.image.load("resource\image\common.png") ]

self.logins = [ pygame.image.load("resource\image\signboard.png"), pygame.image.load("resource\image\login.png"), pygame.image.load("resource\image\id_register.png"),

pygame.image.load("resource\image\quit.png"), pygame.image.load("resource\image\id.png"), pygame.image.load("resource\image\pw.png") ]

 

# 충돌변수 관련

self.mouse_rect = pygame.Rect(0, 0, 10, 10)

self.id_rect = pygame.Rect(290, 280, 160, 23)

self.pw_rect = pygame.Rect(290, 306, 160, 23)

self.id_register_rect = pygame.Rect(320, 355, 69, 30)

self.login_rect = pygame.Rect(455, 280, 50, 50)

self.quit_rect = pygame.Rect(405, 355, 69, 30)

 

# 변수 관련

self.input = [ 0, 0 ]

self.user_id = 0

self.user_pw = 0

self.data = ""

self.bdata = ""

 

def system(self):

global play

 

self.mouse_rect.topleft = pygame.mouse.get_pos()

self.draw()

 

for event in pygame.event.get():

if event.type == pygame.MOUSEBUTTONDOWN:

if login.mouse_rect.colliderect(login.id_rect): # 로그인 입력

self.user_id = input("아이디 : ")

self.input[0] = 1

elif login.mouse_rect.colliderect(login.pw_rect): # 비밀번호 입력

self.user_pw = input("비밀번호 : ")

self.input[1] = 1

 

elif login.mouse_rect.colliderect(login.id_register_rect): # 회원가입 버튼

self.data = self.user_id + ' ' + self.user_pw

f = open('setting.txt','wt')

f.write(self.data)

f.close()

print("회원가입 성공")

self.input[0], self.input[1] = 0, 0

self.user_id, self.user_pw = '', ''

 

elif login.mouse_rect.colliderect(login.login_rect): # 로그인 버튼

f = open('setting.txt','rt')

self.bdata = f.readline()

f.close()

if self.bdata == (self.user_id + ' ' + self.user_pw):

print("로그인 성공")

game.state = 1

self.input[0], self.input[1] = 0, 0

self.user_id, self.user_pw = '', ''

elif login.mouse_rect.colliderect(login.quit_rect):

play = False

elif event.type == pygame.QUIT:

play = False

 

길게 복붙해놨지만 저번강의랑 달라진 부분은 몇군데 없어요

우선 def __init__(self):

self.logins 변수에 pygame.image.load("resource\image\id_register.png") 추가

또한 self.click 변수를 self.input변수로 변경

 

 

elif login.mouse_rect.colliderect(login.id_register_rect): # 회원가입 버튼

self.data = self.user_id + ' ' + self.user_pw

f = open('setting.txt','wt')

f.write(self.data)

f.close()

print("회원가입 성공")

self.input[0], self.input[1] = 0, 0

self.user_id, self.user_pw = '', ''

 

elif login.mouse_rect.colliderect(login.login_rect): # 로그인 버튼

f = open('setting.txt','rt')

self.bdata = f.readline()

f.close()

if self.bdata == (self.user_id + ' ' + self.user_pw):

print("로그인 성공")

game.state = 1

self.input[0], self.input[1] = 0, 0

self.user_id, self.user_pw = '', ''

버튼 이분화

 

if not (self.input[0]):

screen.blit(self.logins[4], (290, 280))

if not (self.input[1]):

screen.blit(self.logins[5], (290, 306))

수정입니다.

이해가 안가시는 내용은 덧글로!! 

밑의영상은 시연영상입니다.!

Loading the player ...

  • 6
    • 글자 크기
00. 크레이지 아케이드 만들기 (Win API 소개) (by sacyz1n) 파이썬을 이용한 간단한 메이플스토리 만들기 공지(포토샵 디자이너 모집) (by 지금몇시지)

댓글 달기 WYSIWYG 사용

글쓴이 비밀번호
댓글 1
번호 제목 글쓴이 조회 수
23 파이썬을 이용한 간단한 메이플스토리 만들기(6/20) - 로그인 기능 수정및 다음화면 이미지 넣기2 지금몇시지 68
22 03. 크레이지 아케이드 만들기 (타이머 매니저, 싱글톤 패턴)3 sacyz1n 63
21 02. 크레이지 아케이드 만들기 (PeekMessage, 게임 구조) sacyz1n 31
20 01. 크레이지 아케이드 만들기 (윈도우 창 보정,)2 sacyz1n 43
19 00. 크레이지 아케이드 만들기 (Win API 소개)2 sacyz1n 53
파이썬을 이용한 간단한 메이플스토리 만들기(5/20) - 회원가입 및 로그인 기능 수정 및 다음 화면 만들기1 지금몇시지 41
17 파이썬을 이용한 간단한 메이플스토리 만들기 공지(포토샵 디자이너 모집)2 지금몇시지 76
16 파이썬을 이용한 간단한 메이플스토리 만들기(4/20) - 회원가입 및 로그인 기능 만들기5 지금몇시지 111
15 파이썬을 이용한 간단한 메이플스토리 만들기(3/20) - 로그인 화면 만들기3 지금몇시지 138
14 파이썬을 이용한 간단한 메이플스토리 만들기(2/20) - IDE(통합개발환경)설치편1 지금몇시지 34
13 파이썬을 이용한 간단한 메이플스토리 만들기(1/20) - 설치편1 지금몇시지 56
12 [C#]프로그래밍 강좌 5 - 2장 : 기본 자료형1 사나 20
11 [던파]구축법3 사나 75
10 [던파]NPC판매품목 변경하기 수정본1 사나 23
9 [던파]모든 던전난이도 언락 사나 21
8 [C#]프로그래밍 강좌 5 - 1장 : 기본 자료형 사나 14
7 [C#]프로그래밍 강좌 4장 : C# 기본용어1 사나 20
6 [C#]프로그래밍 강좌 3장 : C# 시작하기 사나 16
5 [C#]프로그래밍 강좌 2장 : C# 시작하기 사나 21
4 [C#]프로그래밍 강좌 1장 : C#의 정의3 사나 28
첨부 (6)
14.PNG
117.1KB / Download 0
">
15.PNG
166.7KB / Download 0
">
16.PNG
166.1KB / Download 0
">
17.PNG
142.0KB / Download 0
">
id_register.png
2.1KB / Download 0
">
bandicam 2019-08-10 06-53-35-508.mp4
4.01MB / Download 0
">

서버에 요청 중입니다. 잠시만 기다려 주십시오...