Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
기타
2012.01.21 13:52

[libGDX] libGDX 시작하기

profile
에돌이
조회 수 4083 추천 수 0 댓글 3
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄
안드로이드 게임 프레임 워크는 AndEngine, Rokon, Angle, jMonkeyEngine, Android-2D-Engine등 다양한 프레임워크가 있는데요, 그중에서 libGDX라는 게임 프레임워크에 대해 말해 보려고 합니다. libGDX는 Mario Zechner라는 분이 만드는 프레임 워크입니다. Mario Zechner씨는 [

시작하세요 안드로이드 게임 프로그래밍|위키북스] 라는 책을 출판하시기도 하였습니다. 이 책은 LIBGDX가 만들어지는 과정을 보는듯한 책으로, 게임 프로그래밍을 이해하는데 정말 좋은 책이라고 생각합니다. 꼭 한번 보시기를 추천합니다.


그러면 이제 본론으로 들어가도록 하겠습니다. libGDX는 안드로이드 게임 엔진이라는 것은 알겠는데, 일단 프레임워크가 뭔가부터 설명해야 하지 않겠습니까? 라고 질문하시는 분이 있을것 같아서 프레임워크라는 것부터 설명하겠습니다. 프레임워크는 프로그램의 뼈대입니다. 뼈대를 만들고 여기에 살을 붙여서 여러가지 다양한 게임들을 만들 수 있습니다. 프레임워크가 유연하게 짜져 있어야지 메인 프로그램을 만드는데 있어 보다 쉽고 다양한 기능들을 간단하게 추가할 수 있는등 프레임워크는 프로그램 개발에 있어 굉장히 중요하다고 할 수 있습니다.

이번 시간에는 libGDX에 대해 자세히 이야기 하기 보다 간단한 튜토리얼 하나를 통해 libGDX의 묘미를 느껴보도록 하고, libGDX의 환상적인 세계에 빠져볼 준비를 하도록 합시다.

libGDX는 좀 독특하게 멀티플렛폼 프레임워크로, 데스크탑에서 게임을 실행할수 있고, 이 게임을 그대로 안드로이드에 적용할 수 있습니다. 먼저 데스크탑에서 이미지를 출력하는 것부터 시작하도록 하죠.

먼저 이미지를 하나 준비해 주세요. 그런데 아무 이미지나 괜찮지는 않습니다. libGDX는 2의 제곱수의 크기를 같은 이미지만 불러올 수 있습니다. 예를 들어 512 * 512, 1024*128 이런 크기를 갖는 이미지들을 말하는 거에요. 무슨 소리인지 아시겠죠? 그런데 꼭 67 * 94 크기의 이미지를 넣고 싶다고요? 그러면 128 * 128 이미지에 67 * 94 를 넣고 나머지 부분을 공백으로 하시면 됩니다. 뭔가 비효율 적이고 꺼림칙 할거라고 생각하실텐데, 이렇게 하는 자세한 이유는 나중에 설명 드리도록 하겠습니다.

저는 아래와 같은 png 이미지 파일을 준비하겠습니다. (128 * 64)
(img.png)

이제 이 사진을 뜨워보도록 하겠습니다.
먼저 자바 개발 IDE인 이클립스를 받습니다. (Eclipse IDE for Java developers라고 써진걸 받으시면 됩니다.)
(http://www.eclipse.org/downloads/)
그리고 libGDX를 다운 받습니다. (Nightly Builds 버전을 받으시기 바랍니다.)
(http://libgdx.badlogicgames.com/download.php)

이제 이클립스를 실행합니다.

새로운 자바 프로젝트를 만듭니다.


저는 이름을 EdoliGame이라고 짓겠습니다.



libs라는 폴더를 추가해 줍시다. 여기에 이제 libGDX 라이브러리 파일들을 넣어줄 것입니다.



아까 받으셨던 libGDX nightly builds에서 다음과 같은 4개의 파일을 복사해 줍니다.


libs폴더에 붙어넣기를 해주시고, 4개의 파일을 add to build path를 해줍니다.



이제부터 프레임워크는 준비되었습니다. 진짜로 게임을 만들어 보도록 합시다. 먼저 클래스를 2개 만들어 줍시다. 하나는 MainGame으로 이미지를 띄우는 클래스이고, 하나는 DesktopStarter로 응용프로그램을 시작하는 클래스로 만들어 주겠습니다.


이제 코딩의 시간입니다.

MainGame 클래스

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
 
public class MainGame implements ApplicationListener{
 private TextureRegion image;
 private SpriteBatch batch;
  
 @Override
 public void create() {
  batch = new SpriteBatch();
  Texture texture = new Texture(Gdx.files.internal("data/img.png"));
  image = new TextureRegion(texture);
 }
 
 @Override
 public void dispose() {
   
 }
 
 @Override
 public void pause() {
   
 }
 
 @Override
 public void render() {
  Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
  batch.begin();
  batch.draw(image, 50, 50);
  batch.end();
 }
 
 @Override
 public void resize(int arg0, int arg1) {
   
 }
 
 @Override
 public void resume() {
   
 }
 
}

DesktopStarter 클래스

?
1
2
3
4
5
6
7
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
 
public class DesktopStarter {
 public static void main(String[] args) {
  new LwjglApplication(new MainGame(), "game title", 480, 320, false);
 }
}


코딩이 끝났으면 data 폴더를 만들고 아까 준비 했던 이미지 파일(img.png) 파일을 넣어 줍시다.


ctrl + f11을 눌러 실행시킵니다. 성공적으로 그림이 출력되는 것을 볼 수 있습니다.


다음시간부터는 게임 프레임워크에 대한 기초 지식등을 알아보겠습니다. 그 후 libGDX의 구조에 대해 심층적으로 알아보고, 응용하여 실제로 제대로된 게임을 만들어 보도록 하겠습니다.

질문이 있으신 분들은 질문 환영합니다.

Who's 에돌이

profile
돌이 돌이 에돌이. 에돌 에돌 에돌이. 

element

Font
font-family
font-size
font-style
font-variant
font-weight
letter-spacing
line-height
text-decoration
text-align
text-indent
text-transform
white-space
word-spacing
color
Background
bg-attachment
bg-color
bg-image
bg-position
bg-repeat
Box
width
height
border-top
border-right
border-bottom
border-left
margin
padding
max-height
min-height
max-width
min-width
outline-color
outline-style
outline-width
Positioning
position
top
bottom
right
left
float
display
clear
z-index
List
list-style-image
list-style-type
list-style-position
Table
vertical-align
border-collapse
border-spacing
caption-side
empty-cells
table-layout
Effects
text-shadow
-webkit-box-shadow
border-radius
Other
overflow
cursor
visibility
0 추천 0 비추천
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '3'
  • profile
    정체불명 2012.01.21 14:04

    질문있어요

     libGDX는 2의 제곱수의 크기를 같은 이미지만 불러올 수 있는 이유가 무엇이옵니까?

    댓글
  • profile
    에돌이 2012.01.21 14:11

    Open GL ES 에서 비트맵 읽어오는 알고리즘이 2의 제곱수의 크기에 최적화 되어 있기 때문에 그렇다고 알고 있습니다.

    댓글
  • ?
    BrainSoft 2013.01.16 23:40
    다음강좌는....
    댓글

Category
  • css
  • C언어
  • XpressEngine
  • 게임기획
  • Vegas Pro
  • 시네마4D
  • 어도비 프리미어
  • 에프터 이펙트
    • 템플릿
    • 플러그인
  • 웹디자인 관련
  • 플래시
  • 기타
  • 메이킹 영상
  • OSX (맥)
  • 어플개발
  • 파이널컷X
List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 2445
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 1850
파이널컷X [파이널 컷 X] 편집중 하드디스크 용량이 부족할때 랜더파일 삭제로 용량을 확보하자 아방스 2017.12.16 561
파이널컷X [파이널컷 프로 X] 10분만 투자해 기본편집부터 출력까지 배워봅시다. 아방스 2017.10.26 457
Vegas Pro [베가스 프로 15] 10분 안에 기본편집부터 출력까지 배워봅시다. 아방스 2017.09.28 525
어도비 프리미어 [프리미어 프로] 아무것도 몰라도 영상편집 할수 있다! 아방스 2017.09.28 479
Vegas Pro [베가스 프로 15] 추가된 새로운 기능 "픽처 인 픽처" 아방스 2017.09.27 396
Vegas Pro [베가스 프로 15] 트라이얼 버전 설치 방법 아방스 2017.09.06 1450
에프터 이펙트 [에프터이펙트 강좌] 프리미어 템플릿으로 내보내기 아방스 2017.08.01 654
에프터 이펙트 [에펙] 자막바 길이가 자동으로 조절되도록 만들어봅시다! 아방스 2017.08.01 714
어도비 프리미어 [프리미어 프로 cc 2017.1 강좌] 영상에 줌인 줌아웃 효과 주기 아방스 2017.08.01 1550
어도비 프리미어 [프리미어프로cc2017.1] 애니메이션 자막 템플릿 만들어보기 아방스 2017.08.01 570
어도비 프리미어 [프리미어프로cc2017.1] 자막바 길이자동 조절 ver. 2 file 아방스 2017.08.01 580
어도비 프리미어 [프리미어프로cc2017.1] 제목 메뉴와 자막 템플릿이 사라졌어요! 아방스 2017.08.01 1095
어도비 프리미어 [프리미어 프로 cc 2017.1] 새로운 기능 "문자도구" 설명 아방스 2017.08.01 1510
어도비 프리미어 [프리미어프로cc2017] 자동으로 길이 조절 되는 자막 바 file 아방스 2017.08.01 5126
어도비 프리미어 [프리미어cc2017] 프록시 편집에 대해서 아방스 2017.08.01 891
어도비 프리미어 [프리미어 프로 cc2017 강좌] 멀티캠 편집 방법 아방스 2017.08.01 976
어도비 프리미어 [프리미어 프로 cc2017 강좌] 오류 해결방법 '파일에 오디오 또는 동영상 스트림이 없습니다.' 아방스 2017.08.01 1547
어도비 프리미어 [프리미어 CC2017 강좌] 줌인드랜지션 무료 템플릿 (적용 및 사용법) file 아방스 2017.08.01 907
어도비 프리미어 [프리미어 프로 CC2017 강좌] 영상의 확대 축소 마음대로 하기 (매드무비제작) 아방스 2017.08.01 722
어도비 프리미어 [프리미어 프로 강좌] 서서히 원하는 색으로 물들이기 아방스 2017.08.01 296
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs