'3. 휴게 모듈' 카테고리의 다른 글
[만료] 인터파크 도서상품권 (1000원) (0) | 2017.06.20 |
---|---|
교보문고 <2016 고수의 선택, 10인의 미스터리 추천> 이벤트 페이지 (0) | 2016.09.07 |
교보문고 바로콘 링크 (0) | 2016.07.15 |
하이패스 미납요금 조회 방법 (0) | 2015.08.11 |
도로명 주소 영문으로 표기하기 (0) | 2015.08.05 |
[만료] 인터파크 도서상품권 (1000원) (0) | 2017.06.20 |
---|---|
교보문고 <2016 고수의 선택, 10인의 미스터리 추천> 이벤트 페이지 (0) | 2016.09.07 |
교보문고 바로콘 링크 (0) | 2016.07.15 |
하이패스 미납요금 조회 방법 (0) | 2015.08.11 |
도로명 주소 영문으로 표기하기 (0) | 2015.08.05 |
Sprite를 사용하면 이미지, 위치, 충돌 처리를 통합해서 처리할 수 있습니다.
Sprite를 단독으로 사용하는 경우
# 스프라이트 클래스 정의 class SimpleSprite(pygame.sprite.Sprite): def __init__(self, image, position): # 생성자 파라미터로 스프라이트에 사용될 이미지 경로와 스프라이트 초기 위치를 받는다 pygame.sprite.Sprite.__init__(self) self.user_src_image = pygame.image.load(image) # 스프라이트에 사용될 이미지를 저장할 사용자 변수 self.user_position = position # 스프라이트의 위치를 저장할 사용자 변수 self.user_rotation = 30 # 스프라이트의 회전 각도를 저장할 사용자 변수 def update(self): # 스프라이트의 상태를 업데이트 하는 함수. 필요에 따라 파라미터가 추가될 수도 있다. # 여기에 게임 상태에 따라 스프라이트의 위치(user_position), 회전 각도(user_rotation), 이미지(user_src_image)를 변경시키는 코드가 들어가야 한다. # {{ # ... # }} # 출력에 사용될 이미지, 위치를 정한다 self.image = pygame.transform.rotate(self.user_src_image, self.user_rotation) # 이미지를 회전 각도 만큼 회전시킨다 self.rect = self.image.get_rect() self.rect.center = self.user_position # 이미지의 출력 위치를 정한다 ... # 초기화시 해야할 부분 simple = SimpleSprite('simple.png', (100, 100)) simple_group = pygame.sprite.RenderPlain(simple) # -> RenderPlain 클래스는 여러개의 스프라이트를 묶어주는 역활을 하며, # 상태 업데이트나 화면에 그릴 때에 RenderPlain 클래스를 통해서 하게된다. ... # 게임 상태 업데이트시 해야할 부분 simple_group.update() # RenderPlain 객체를 통해 업데이트한다 ... # 게임 상태 화면에 출력시 해야할 부분 simple_group.draw(screen) # RenderPlain 객체를 통해 출력한다
Sprite를 그룹으로 사용하는 경우
# 스프라이트 클래스 정의 class SimpleSprite(pygame.sprite.Sprite): def __init__(self, image, position): # 생성자 파라미터로 스프라이트에 사용될 이미지 경로와 스프라이트 초기 위치를 받는다 pygame.sprite.Sprite.__init__(self) self.user_src_image = pygame.image.load(image) # 스프라이트에 사용될 이미지를 저장할 사용자 변수 self.user_position = position # 스프라이트의 위치를 저장할 사용자 변수 self.user_rotation = 30 # 스프라이트의 회전 각도를 저장할 사용자 변수 def update(self): # 스프라이트의 상태를 업데이트 하는 함수. 필요에 따라 파라미터가 추가될 수도 있다. # 여기에 게임 상태에 따라 스프라이트의 위치(user_position), 회전 각도(user_rotation), 이미지(user_src_image)를 변경시키는 코드가 들어가야 한다. # {{ # ... # }} # 출력에 사용될 이미지, 위치를 정한다 self.image = pygame.transform.rotate(self.user_src_image, self.user_rotation) # 이미지를 회전 각도 만큼 회전시킨다 self.rect = self.image.get_rect() self.rect.center = self.user_position # 이미지의 출력 위치를 정한다 ... # 초기화시 해야할 부분 multiple = [ SimpleSprite('simple.png', (100, 100)), SimpleSprite('simple.png', (100, 200)), SimpleSprite('simple.png', (100, 300)) ] multiple_group = pygame.sprite.RenderPlain(*multiple) # 그룹으로 사용시 * 연산자가 들어가야 한다 # -> RenderPlain 클래스는 여러개의 스프라이트를 묶어주는 역활을 하며, # 상태 업데이트나 화면에 그릴 때에 RenderPlain 클래스를 통해서 하게된다. ... # 게임 상태 업데이트시 해야할 부분 multiple_group.update() # RenderPlain 객체를 통해 업데이트한다 ... # 게임 상태 화면에 출력시 해야할 부분 multiple_group.draw(screen) # RenderPlain 객체를 통해 출력한다
Sprite와 Sprite 그룹 사이의 충돌 체크
class BlockSprite(pygame.sprite.Sprite): def __init__(self, position): pygame.sprite.Sprite.__init__(self) self.user_image_normal = pygame.image.load("block_normal.png"); # 보통 상태에서 표시할 이미지를 로딩 self.user_image_hit = pygame.image.load("block_hit.png"); # 충돌시에 표시할 이미지를 로딩 self.user_position = position; # 충돌을 체크하는 spritecollide 함수 호출시 rect 정보가 사용되는데 # udpate가 spritecollide 이후에 호출되기 때문에 생성자에서 rect 초기값을 설정하여야 한다. self.image = self.user_image_normal self.rect = self.image.get_rect() self.rect.center = self.user_position def update(self, hit_list): # 충돌된 객체 리스트를 파라미터로 추가한다 if self in hit_list: # 자기 자신의 리스트에 포함 여부에 따라 상태 업데이트를 한다 self.image = self.user_image_hit # 이미지를 충돌 상태 이미지로 설정 else: self.image = self.user_image_normal # 이미지를 보통 상태 이미지로 설정 self.rect = self.image.get_rect() self.rect.center = self.user_position ... blocks = [ BlockSprite((100, 100)), BlockSprite((100, 200)), BlockSprite((100, 300)) ] block_group = pygame.sprite.RenderPlain(*blocks) ... collisions = pygame.sprite.spritecollide(simple, block_group, False) # 첫번째 파라미터로 단일 스프라이트 객체가, 두번째 파라미터로 스프라이트의 그룹 객체가 온다. # 두번째 파라미터의 스프라이트 그룹에 포함된 객체 중에서 첫번째 파라미터의 객체와 충돌하는 # 객체의 리스트를 반환한다. # 세번째 파라미터는 스프라이트 그룹내 충돌된 스프라이트의 자동 제거 여부로, # True로 할 경우, 충돌 발생시 바로 그룹에서 제거된다. block_group.update(collisions) # 충돌된 객체 리스트를 스프라이트 객체로 넘겨서 처리한다. ... block_group.draw(screen)
Sprite 객체 외부에서 충돌 처리
다른 스프라이트 객체를 참조하거나 전체 스프라이트에 공통으로 처리해야하는 경우, 다음과 같은 방법으로 스프라이트 객체 외부에서 처리할 수 있다.
collisions = pygame.sprite.spritecollide(simple, block_group, False) if collisions: for block in block_group.sprites(): block.image = block.user_image_hit # 그룹내 모든 스프라이트의 이미지를 바꾼다
배경 이미지 사용시
배경 이미지 사용시, 매번 전체 이미지를 blit하지않고, 다음과 같은 방법으로 Sprite에 해당하는 영역만 효율적으로 복원할 수 있다.
# 메인 루프 바깥에서 배경 이미지를 출력 background = pygame.image.load('background.png') screen.blit(background, (0,0)) ... # 메인 루프 안에서 Sprite 영역만 복원해줌. (기존에 screen.fill(...) 호출하던 부분) simple_group.clear(screen, background) block_group.clear(screen, background)
종합 예제
플레이어를 이동시켜 장애물에 충돌시켜 볼 수 있는 예제 소스이다.
다음의 이미지 파일들이 소스와 같은 경로에 있어야 한다.
simple.png : 플레이어 이미지
block_normal.png : 장애물 이미지 (보통 상태)
block_hit.png : 장애물 이미지 (충돌 상태)
background.png : 배경 이미지
# -*- coding: utf-8 -*- import math, sys import pygame from pygame.locals import * pygame.init() screen = pygame.display.set_mode((1024, 768), DOUBLEBUF) clock = pygame.time.Clock() class SimpleSprite(pygame.sprite.Sprite): def __init__(self, image, position): pygame.sprite.Sprite.__init__(self) self.user_src_image = pygame.image.load(image) self.user_position = position self.user_rotation = 30 self.user_speed = 0 self.user_rotation_speed = 0 def update(self, deltat): # 속도, 회전 속도에 따라 위치 정보를 업데이트한다 self.user_rotation += self.user_rotation_speed x, y = self.user_position rad = self.user_rotation * math.pi / 180 x += -self.user_speed * math.sin(rad) y += -self.user_speed * math.cos(rad) self.user_position = (x, y) self.image = pygame.transform.rotate(self.user_src_image, self.user_rotation) self.rect = self.image.get_rect() self.rect.center = self.user_position class BlockSprite(pygame.sprite.Sprite): def __init__(self, position): pygame.sprite.Sprite.__init__(self) self.user_image_normal = pygame.image.load("block_normal.png"); self.user_image_hit = pygame.image.load("block_hit.png"); self.user_position = position; self.image = self.user_image_normal self.rect = self.image.get_rect() self.rect.center = self.user_position def update(self, hit_list): if self in hit_list: self.image = self.user_image_hit else: self.image = self.user_image_normal self.rect = self.image.get_rect() self.rect.center = self.user_position rect = screen.get_rect() simple = SimpleSprite('simple.png', rect.center) simple_group = pygame.sprite.RenderPlain(simple) blocks = [ BlockSprite((200, 200)), BlockSprite((800, 200)), BlockSprite((200, 600)), BlockSprite((800, 600)) ] block_group = pygame.sprite.RenderPlain(*blocks) background = pygame.image.load('background.png') screen.blit(background, (0,0)) while True: deltat = clock.tick(30) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 키입력에 따라 속도, 회전 속도를 설정 if hasattr(event, 'key'): down = event.type == KEYDOWN if event.key == K_RIGHT: simple.user_rotation_speed = down * -5 # 시계 방향이 마이너스인 것에 유의 elif event.key == K_LEFT: simple.user_rotation_speed = down * 5 elif event.key == K_UP: simple.user_speed = down * 10 elif event.key == K_DOWN: simple.user_speed = down * -10 simple_group.update(deltat) collisions = pygame.sprite.spritecollide(simple, block_group, False) block_group.update(collisions) simple_group.clear(screen, background) block_group.clear(screen, background) simple_group.draw(screen) block_group.draw(screen) pygame.display.flip()
<테스트 환경>
OS : Windows 7
Python 버전 : 2.7
pyGame 버전 : 1.9.1
[wxPython] Launcher 어플 Template (0) | 2015.09.29 |
---|---|
Python 게임 관련 라이브러리들 (0) | 2015.08.28 |
pyGame 사용법 요약 - 1. 기본 기능 (0) | 2015.08.15 |
[wxPython] Vertical BoxSizer에서 가로로 꽉 차게 컨트롤 추가하는 방법 (0) | 2014.04.20 |
[Python 팁] ImportError: DLL load failed 에러 해결 (1) | 2013.08.08 |
Python에서 게임 제작에 사용할 수 있는 pyGame 라이브러리 기본 기능에 대해 긴 설명없이 빠르게 훓어볼 수 있도록 정리해보았습니다.
우선 Python에서 UTF-8 한글로 된 주석을 사용하기 위해서는 소스 앞부분에 다음 구문을 추가하여야 한다
모듈 import
import pygame # pygame 모듈을 import from pygame.locals import * # pygame.locals 하위 모듈을 import
pyGame 라이브러리 초기화
라이브러리 초기화를 하지 않을 경우, 일부 기능이 정상 동작하지 않을 수 있다.
pygame.init()
디스플레이 초기화
# 1) 화면 해상도를 480*320으로 초기화. 윈도우 모드, 더블 버퍼 모드로 초기화하는 경우 screen = pygame.display.set_mode((480, 320), DOUBLEBUF) pygame.display.set_caption('Hello World!') # 타이틀바의 텍스트를 설정 # 2) 화면 해상도를 480*320, 전체 화면 모드, 하드웨어 가속 사용, 더블 버퍼 모드로 초기화하는 경우 screen = pygame.display.set_mode((480, 320), FULLSCREEN | HWSURFACE | DOUBLEBUF)
두번째 파라미터는 다음과 같은 flag들을 | 연산자로 조합하여 사용할 수 있다.
FULLSCREEN : 전체 화면 모드를 사용
HWSURFACE : 하드웨어 가속 사용. 전체 화면 모드에서만 가능
OPENGL : OpenGL 사용 가능한 디스플레이를 초기화
DOUBLEBUF : 더블 버퍼 모드를 사용. HWSURFACE or OPENGL에서 사용을 추천
메인 루프
pyGame의 메인 루프는 아래와 같이 크게 세 부분으로 나뉘어진다.
while True: for event in pygame.event.get(): # 이벤트를 처리하는 부분 -> 키보드, 마우스 등의 이벤트 처리 코드가 들어감 ... # 게임의 상태를 업데이트하는 부분 ... # 게임의 상태를 화면에 그려주는 부분 -> 화면을 지우고, 그리고, 업데이트하는 코드가 들어감 ...
종료 이벤트 처리
import sys # 윈도우의 닫기 버튼이 눌렸을 때, 프로그램을 종료하도록 처리 for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit()
키 이벤트 처리
for event in pygame.event.get(): if not hasattr(event, 'key'): # 키 관련 이벤트가 아닐 경우, 건너뛰도록 처리하는 부분 continue if event.type == KEYDOWN: if event.key == K_RIGHT: # 오른쪽 키에 대한 처리 ... elif event.key == K_LEFT: # 왼쪽 키에 대한 처리 ... elif event.key == K_UP: # 위쪽 키에 대한 처리 ... elif event.key == K_DOWN: # 아래 키에 대한 처리 ... elif event.key == K_ESCAPE: # ESC 키에 대한 처리 ...
마우스 이벤트 처리
LEFT = 1 # 왼쪽 버튼에 대한 버튼 인덱스 RIGHT = 3 # 오른쪽 버튼에 대한 버튼 인덱스 if event.type == MOUSEBUTTONDOWN and event.button == LEFT: # 왼쪽 버튼이 눌렸을 때의 처리 print "left mouse up (%d, %d)" % event.pos elif event.type == MOUSEBUTTONUP and event.button == LEFT: # 왼쪽 버튼이 떨어졌을 때의 처리 print "left mouse down (%d, %d)" % event.pos elif event.type == pygame.MOUSEMOTION: # 마우스 이동시의 처리 print "mouse move (%d, %d)" % event.pos
색 정의
BLACK = (0, 0, 0) # R, G, B RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) BLUE_A = (0, 0, 255, 127) # R, G, B, Alpha(투명도, 255 : 완전 불투명)
사각형 정의
rectangle = (0, 10, 100, 100) # 왼쪽 X, 위 Y, 너비, 높이
화면의 업데이트
# 전체 화면을 업데이트할 경우 pygame.display.flip() # 화면 전체를 업데이트 # 화면의 일부만 업데이트할 경우 pygame.display.update(rectangle) # 업데이트할 rectangle을 지정 pygame.display.update(rectangle_list) # 업데이트할 rectangle을 여러개 지정
프레임 수 맞추기
메인 루프 안에서 FPS(초당 프레임수)를 맞추기 위한 딜레이를 추가해주는 코드. 파라미터로 딜레이 시간이 아닌 목표로 하는 FPS 값이 들어간다.
TARGET_FPS = 30 clock = pygame.time.Clock() while True: ... clock.tick(TARGET_FPS) # 30 FPS를 맞추기 위한 딜레이를 추가
화면 지우기
# 화면을 그리기에 앞서 지우기 위해 호출한다 screen.fill(BLACK)
기본 도형 그리기
# 네 점을 지나는 폴리곤을 그린다 pygame.draw.polygon(screen, RED, ((10, 10), (20, 10), (30, 20), (10, 20))) # 두 점을 지나는 선을 그린다 pygame.draw.line(screen, BLUE, (10, 10), (20, 20)) # 사각형을 그린다 (왼쪽, 위, 너비, 높이 순) pygame.draw.rect(screen, RED, (10, 10, 100, 50)) # (100, 100)을 중심으로 하는 반지름 10인 원을 그린다 pygame.draw.circle(screen, BLUE, (100, 100), 10) # 사각형 안을 지나는 타원을 그린다 pygame.draw.ellipse(screen, RED, (10, 10, 100, 50)) # 두 점을 지나는 두께 4의 선을 그린다 (모든 그리기 함수에 두께가 추가될 수 있다) pygame.draw.line(screen, BLUE, (10, 10), (20, 20), 4)
점 찍기
pixelArray = pygame.PixelArray(screen) pixelArray[10][100] = RED pixelArray[50][100] = BLUE del pixelArray # 사용 후, 반드시 PixelArray를 del해줘야 Surface가 lock되는 것을 방지할 수 있다
이미지 파일 다루기
# 이미지 파일 그리기 img = pygame.image.load('image.jpg') screen.blit(img, (50, 100)) # 지정한 좌표가 이미지의 왼쪽 위에 위치하도록 출력된다 # 이미지 파일 회전하여 그리기 img = pygame.image.load('image.jpg') x = 100 y = 100 degree = 45 # 회전할 각도를 도(degree) 단위로 지정 rotated = pygame.transform.rotate(img, degree) rect = rotated.get_rect() rect.center = (x, y) # 지정한 좌표가 이미지의 중심에 오도록 출력된다 screen.blit(rotated, rect)
투명도 처리
pygame.display.set_mode()로 얻어진 기본 Surface에 출력할 경우 투명도는 적용되지 않기 때문에, 아래와 같이 별도의 Surface를 생성하여 처리하여야 한다.
t_surface = screen.convert_alpha() # 기본 Surface(screen)로부터 투명도 처리를 위한 Surface 생성 ... t_surface.fill((0, 0, 0, 0)) # t_surface 전체를 투명한 검정색으로 지운다 pygame.draw.rect(t_surface, (0, 0, 255, 127), (30, 30, 40, 40)) # t_surface에 투명도를 적용하여 그려줌 screen.blit(t_surface, (0, 0)) # t_surface를 기본 Surface에 blit
텍스트 출력하기
fontObj = pygame.font.Font('myfont.ttf', 32) # 현재 디렉토리로부터 myfont.ttf 폰트 파일을 로딩한다. 텍스트 크기를 32로 한다 textSurfaceObj = fontObj.render('Hello Font!', True, GREEN) # 텍스트 객체를 생성한다. 첫번째 파라미터는 텍스트 내용, 두번째는 Anti-aliasing 사용 여부, 세번째는 텍스트 컬러를 나타낸다 textRectObj = textSurfaceObj.get_rect(); # 텍스트 객체의 출력 위치를 가져온다 textRectObj.center = (150, 150) # 텍스트 객체의 출력 중심 좌표를 설정한다 screen.blit(textSurfaceObj, textRectObj) # 설정한 위치에 텍스트 객체를 출력한다 # Font 객체 생성의 다른 예 fontObj = pygame.font.Font(None, 32) # 폰트 파일에 None을 지정할 경우 기본 폰트가 사용된다 fontObj = pygame.font.Font('C:\\Windows\\Fonts\\tahoma.ttf', 32) # 윈도우 경로에 있는 폰트를 사용할 경우 # render 함수 사용의 다른 예 textSurfaceObj = fontObj.render('Hello font!', True, GREEN, BLUE) # 텍스트 색을 녹색, 배경색을 파란색으로 설정한다
사운드 출력하기
Wav, Ogg 형식의 사운드 파일을 지원한다.
soundObj = pygame.mixer.Sound('beeps.wav') # 사운드 파일을 로딩한다 soundObj.play() # 사운드 파일을 플레이한다 (플레이가 끝나는 것을 기다리지 않고 바로 리턴된다) # 5초 후에 플레이를 정지하는 경우 import time soundObj.play() time.sleep(5) soundObj.stop() # 반복해서 플레이하는 경우 (BGM) pygame.mixer.music.load('background.mp3') pygame.mixer.music.play(-1, 0, 0)
종합 예제
# -*- coding: utf-8 -*- import sys import pygame from pygame.locals import * # 초당 프레임수를 정의 TARGET_FPS = 30 clock = pygame.time.Clock() # 색 정의 BLACK = (0, 0, 0) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) # 마우스 버튼 인덱스 정의 LEFT = 1 # 왼쪽 버튼에 대한 버튼 인덱스 RIGHT = 3 # 오른쪽 버튼에 대한 버튼 인덱스 # 라이브러리 및 디스플레이 초기화 pygame.init() screen = pygame.display.set_mode((480, 320), DOUBLEBUF) # 이미지 파일을 로딩 img = pygame.image.load('image.jpg') # 폰트 로딩 및 텍스트 객체 초기화 fontObj = pygame.font.Font('myfont.ttf', 32) textSurfaceObj = fontObj.render('Hello Font!', True, GREEN) textRectObj = textSurfaceObj.get_rect(); textRectObj.center = (150, 200) # 사운드 파일을 로딩 soundObj = pygame.mixer.Sound('beeps.wav') # 메인 루프 while True: for event in pygame.event.get(): # 이벤트를 처리하는 부분 if event.type == QUIT: pygame.quit() sys.exit() # 키보드 이벤트 처리 if event.type == KEYDOWN: if event.key == K_RIGHT: # 오른쪽 키가 눌리면 사운드를 플레이한다 soundObj.play() # 마우스 이벤트 처리 if event.type == MOUSEBUTTONDOWN and event.button == LEFT: # 왼쪽 버튼이 눌렸을 때의 처리 print "left mouse up (%d, %d)" % event.pos elif event.type == MOUSEBUTTONUP and event.button == LEFT: # 왼쪽 버튼이 떨어졌을 때의 처리 print "left mouse down (%d, %d)" % event.pos elif event.type == pygame.MOUSEMOTION: # 마우스 이동시의 처리 print "mouse move (%d, %d)" % event.pos # 게임의 상태를 업데이트하는 부분 # 게임의 상태를 화면에 그려주는 부분 screen.fill(BLACK) # 화면을 검은색으로 지운다 pygame.draw.line(screen, GREEN, (10, 0), (20, 10)) # 두 점을 지나는 선을 그린다 # 수동으로 점 찍기 pixelArray = pygame.PixelArray(screen) pixelArray[5][5] = RED pixelArray[10][10] = RED del pixelArray # 이미지 파일 그리기 screen.blit(img, (50, 100)) # 이미지 파일 회전하여 그리기 x = 200 y = 100 degree = 30 rotated = pygame.transform.rotate(img, degree) rect = rotated.get_rect() rect.center = (x, y) screen.blit(rotated, rect) # 텍스트 오브젝트를 출력 screen.blit(textSurfaceObj, textRectObj) pygame.display.flip() # 화면 전체를 업데이트 clock.tick(TARGET_FPS) # 프레임 수 맞추기
<테스트 환경>
OS : Windows 7
Python 버전 : 2.7
pyGame 버전 : 1.9.1
Python 게임 관련 라이브러리들 (0) | 2015.08.28 |
---|---|
pyGame 사용법 요약 - 2. 스프라이트(Sprite)의 사용 (0) | 2015.08.21 |
[wxPython] Vertical BoxSizer에서 가로로 꽉 차게 컨트롤 추가하는 방법 (0) | 2014.04.20 |
[Python 팁] ImportError: DLL load failed 에러 해결 (1) | 2013.08.08 |
[wxPython] 에러 메세지 출력 방법 변경 (0) | 2013.07.31 |
1. 한국도로공사 홈페이지에 들어갑니다.
http://www.ex.co.kr
2. 중간에 있는 하이패스 버튼을 누릅니다.
3. ex card 서비스 화면이 나타나는데, 로그인을 안하고 진행하면 화면이 닫히므로 로그인을 한 후 진행합니다. 로그인은 아이핀과 인증서 로그인이 가능합니다.
4. 로그인을 한 후에, 미납금 조회/납부 버튼을 누릅니다.
5. 미납통행료 조회 및 납부 화면이 나오면, 차량번호를 입력하고 조회 버튼을 누릅니다.
6. 미납금 내역이 표시되면서 아래와 같은 내용을 확인할 수 있으며 납부도 가능합니다.
작성일 : 2015.08
[만료] 인터파크 도서상품권 (1000원) (0) | 2017.06.20 |
---|---|
교보문고 <2016 고수의 선택, 10인의 미스터리 추천> 이벤트 페이지 (0) | 2016.09.07 |
교보문고 바로콘 링크 (0) | 2016.07.15 |
F1 맥라렌팀 월페이퍼 다운로드 링크 (0) | 2015.08.27 |
도로명 주소 영문으로 표기하기 (0) | 2015.08.05 |
1. 도로명주소 안내시스템 홈페이지에 들어갑니다.
2. ~동 ~호, ~층과 같은 상세 주소를 제외한, 도로명 + 건물번호까지만 주소를 입력하고 검색을 누릅니다.
3. 검색 결과 중 더보기 버튼을 누릅니다.
4.추가 정보에서 아래와 같이 도로명주소의 영문 표기를 확인할 수 있습니다.
5. 나머지 상세 주소를 변환하여 콤마로 분리하여 맨 앞에 붙인다.
상세 주소 표기시 ‘동’, ‘층’, ‘호’는 로마자 표기를 원칙으로 하되, 널리 사용되는 표현인 경우 영어식 표기
(’동’, ‘층’, ‘호’ 생략, ‘층’ -> ‘F’, ‘지하’ -> ‘B’) 사용가능
예시)
① 대구광역시 수성구 달구벌대로323번길 56, 705동 1104호
705-dong 1104-ho, 56, Dalgubeol-daero 323beon-gil, Suseong-gu, Daegu
705-1104, 56, Dalgubeol-daero 323beon-gil, Suseong-gu, Daegu
② 강원도 춘천시 퇴계로77번길 42, 3층
3-cheung, 42, Toegye-ro 77beon-gil, Chuncheon-si, Gangwon-do
3F, 42, Toegye-ro 77beon-gil, Chuncheon-si, Gangwon-do
③ 부산광역시 해운대구 세실로 136, 가동 지하101호
Ga-jiha101, 136, Sesil-ro, Haeundae-gu, Busan
Ga-B101, 136, Sesil-ro, Haeundae-gu, Busan
6. 참고항목(법정동, 공동주택명)은 주소의 간결화를 위해 표기하지 않을 수 있으나,
필요할 경우 맨 앞(상세주소 앞)에 괄호로 표기합니다.
예시)
서울특별시 광진구 광나루로507길 78, 101동 102호(광장동, 신도아파트)
(Gwangjang-dong, Sindo APT), 101-dong 102-ho, 78, Gwangnaru-ro 507-gil, Gwangjin-gu, Seoul
※ 도로명주소 영문표기방법의 전반적인 내용은 도로명주소 소개 -> 주소 영문표기방법 란에서도 확인할 수 있습니다.
[만료] 인터파크 도서상품권 (1000원) (0) | 2017.06.20 |
---|---|
교보문고 <2016 고수의 선택, 10인의 미스터리 추천> 이벤트 페이지 (0) | 2016.09.07 |
교보문고 바로콘 링크 (0) | 2016.07.15 |
F1 맥라렌팀 월페이퍼 다운로드 링크 (0) | 2015.08.27 |
하이패스 미납요금 조회 방법 (0) | 2015.08.11 |