자 저번에 파일의 구조를 모델링해봤습니다...(누구랑말하니....)
이번엔 기본적인 윈도우의 화면을 구성해보려합니다.
그렇다면 다시 다른분의 스프라이트툴을 분석해봅시다...

사용자 삽입 이미지
1번윈도우는 마우스의 현재위치와 파일의 정보 그리고 스프라이트 애니메이션의 생성과 삭제
그리고 이름변경 또 컬러키적용과 애니메이션의 속도에 관한 설정을 할수있도록 만들어진창이네요
2번윈도우는 그림파일을 불러와서 화면에 띄어주는 윈도우네요. 가로 세로로 스크롤바가 있네요.
3번윈도우는 프레임들에대한 위치수정을 할수있는 윈도우로 보여지고 2번처럼 가로세로로 스크롤바가 있습니다.
4번 윈도우는 애니메이션을 보여주는 윈도우같구요
5번 윈도우는 중점좌표를 설정해주는 윈도우 같습니다.

자 그러면 이제 대충 우리가 만들어줘야하는 윈도우의 모습이 보이는데요
이젠 어떤식으로 코드를 작성할지 고민해봐야겠는데요
하나의 윈도우클래스를 제작하고 그것으로 여러개의 윈도우를 다른속성으로 만들지
아니면 윈도우마다 제각기 다른윈도우를 만들어 줄지말이죠.

나중에 만약 추가윈도우를 구성할때를 생각해보면 위의 두방법 말고
한개의 컴포넌트윈도우를 만들고 윈도우마다 그것을 상속받아 각자의 특성에 맞게
작동하게 구성하면 될것같다.

사용자 삽입 이미지
이제 추상윈도우 클래스를 구성했다.
그럼 이제 5~6가지 이 클래스를 상속받는 클래스들을 만든후 화면에 배치해보겠다.

사용자 삽입 이미지
대충 5개의 윈도우들을 구성하고 화면에 배치해보았다. 크기조절에 관한문제도 해결하였다
지금은 그냥 각각의 윈도우에서 각자의 역활을 텍스트로 띄어주었다.
킁 다음번엔 저 5개의 빈윈도우들을 하나하나 내용을 채워보도록하겠다

[##_kaAmo_##]
Posted by 랜스.

Leave your greetings here.

스프라이트툴이라 함은 곧 게임툴!! 게임에서 쓰이게 될 리소스들을 수정하고 편집하는데 쓰이게될껍니다.!!
리소스들을 수정하고 저장하게 되면 무엇이 생성되죠? 예 그렇습니다. 파일이죠~_~ (혼자묻고 혼자답하기)
예전에 스프라이트툴을 만들기전에 2D그래픽 기초를 하고있었을때는 그림파일따로 프레임값을 저장해둔 텍
스트파일 따로 따로 저장하거나 아예 프로그램상에 넣어놨었는데 이게 게임개발하다보면 귀찮은일이란걸
깨닫게 되어서 이젠 우리가 만들 파일의 구조를 모델링 해보도록해요.~_~

사용자 삽입 이미지
 일단 스프라이트 파일을 전체적으로 생각해봅시다~_~
스프라이트 파일은 크게 애니메이션의 정보와 그외것들(컬러키,그림파일)을 담는것 두가지로 나눌수있
겠구요.
사용자 삽입 이미지
애니메이션객체속에는 애니메이션이 담고있는 프레임의 리스트가있어야겠죠?
프레임은 스프라이트의 아주 기본이되는 데이터객체입니다.
영역정보와 중점정보를 데이터로 저장하고있어야합니다. 에휴 말이랑 그림으로 떼울려니 좀 어렵네요.

그럼 방금까지 생각했던것을 정리해서 모델링해봅시다 ~_~
사용자 삽입 이미지

자 이번에는 제가 만들게될 스프라이트툴의 파일구조를 모델링해보았습니다... 다음시간엔 이것을 그대로 코드에 옮기고 파서를 만들어 볼까 합니다~_~ 잘했어 랜스군!
[##_kaAmo_##]
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/4
  2. Kell 2009/02/03 14:03  Modify/Delete  Reply  Address

    예전에 이와 비슷한 방식으로 스프라이트 데이타를 구성한적이 있었는데요. 뭐 나쁘진 않았으나 비트맵을 사용하다보니 아무래도 리소스 크기가 커지고,

    비트맵 데이타가 직접 데이타 포맷에 포함되다 보니 리소스 변경만으로 노려볼 수 있는 효과(같은 크기의 비트맵의 다른 캐릭터), 리소스는 냅두고 여러가지 프레임을 생성하는 효과 등등을 효율적으로 관리하지 못했던게 생각이 납니다..;

    또 중간에 데이타를 교체해야 하는 경우도 관리하기가 힘들었던 생각이 나네요. (툴에 그 기능을 추가하긴 했지만..;)

Kell's SpriteTool

Kell's SpriteTool

 위쪽의 사진을 보며 스프라이트 툴에서 필요한 기능들을 생각해보자.

첫째로 기본적인 파일을 불러오고 기능이있어야할것이다.
또 불러온 파일을 수정후 저장하는 기능도 있어야겠지?
불러온 파일의 정보를 읽어서 보려주는 기능도 있으면 괜찮겠다.

자 그럼 둘째로 기능적인 면을 생각해보면 스프라이트 그림을 클릭한후 드래그 하면 그 영역(RECT)를
저장하는 리스트가 필요할껏같다. 그러면 그 리스트의 갯수와 한도를 정하는 부분도 필요할꺼고
그 영역을 통채로 관리하려면 하나의 개념체로 관리를 해야할것이다. 그리고 그 개념체를 생성시키고
이름을 정하게할수있는 기능도 필요할것이다.

그리고 이제 마지막으로 이미지의 컬러키정보를 담는 기능과 다 만들어진 스프라이트 애니메이션을
보여주는 윈도우를 남겨두는것도 괜찮을것이다.
[##_kaAmo_##]
Posted by 랜스.

Leave your greetings here.

저번에 만들었던 Kyma스프라이트툴의 소스가 날라가버리고 실행프로그램만 남았기에
이번에 스프라이트툴을 새로만들어볼까합니다. -_-
사실 저번에 만들었던 스프라이트툴이 개막장이라 유지/보수가 힘든 이유도 있었고
포맷할때 고의적으로 남겨두었달까... 젠장 ㅠㅠ
고로 이번엔 쓸만하면서도 나중에 유지/보수가 어렵지않은 스프라이트 툴을 제작해보기로 하겠습니다.
자 그럼 일단 무작정 코드를 짜던 습관을 버리려고 이런 글을 쓰면서 제작하기로 한거니
일단 개발하려는 프로그램의 목적부터 생각해봅시다.

개발목적
 - 앞으로 제작하게될 2D스프라이트툴의 컴포넌트가 될 프로그램을 제작한다.

개발시 유의점
- 차후에 개발될 게임에 쓰이게될 스프라이트툴이 컴포넌트가 되는 만큼 확장성에 유의한다.
- 고로 이 스프라이트툴로 제작된 파일을 아류 스프라이트툴들도 로드할수있게 제작하여야한다.
- 최적화에 신경을 쓰되 설계시 최대한 모듈화에 힘쓴다.

정도가 프로젝트의 개요가 되겠다... 뭐 프로젝트라 하기엔 너무 작은 프로그램이라..
이런식으로 대충 목표와 개요가 정해졌고 그다음엔 설계 작업을 해야할꺼같은데
설계라는 구조적인 디자인을 해보기전에 다른 사람들이 만든 몇가지 스프라이트툴을 참고해보자

Kell's Sprite Tool

Kell's Sprite Tool

이 툴은 Kell(http://kell.tistory.com)님이 만드신 스프라이트 툴이다.
파일을 불러와서 정보를 저장하고 그 파일의 정보와 이미지를 출력하고 애니메이션을 추가하여
사용자가 직접 애니메이션의 중점정보와 프레임속도를 지정해줄수있다.

켜켜's Sprite Tool

켜켜's Sprite Tool

이것은 켜켜(http://cafe.naver.com/kilius)님이 만드신 스프라이트툴인데
기본스프라이트툴에 격투게임의 특성인 바인딩 박스(사각충돌)이 추가 되어있는 툴이다.
이런류의 툴은 스프라이트툴을 기본으로 각자 게임의 특성에 따라서 이런식으로 변형될수있다는 예를
보여주는 적절한 툴인것같다.
 
자 2가지의 스프라이트 툴을 구경하였다. 다음시간엔  Kell님의 스프라이트툴을 이번에 제작하게 될
기본 컴포넌트가 될 스프라이트 툴이라 생각하고 켜켜님의 스프라이트툴을 컴포넌트에 무언가
게임의 속성을 덧붙이게 될 스프라이트툴이라고 생각하고 설계에 임해보기로하자.

[##_kaAmo_##]
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/2
  2. 비밀방문자 2013/12/31 15:02  Modify/Delete  Reply  Address

    관리자만 볼 수 있는 댓글입니다.

네이버 블로그는 개인적인 글이나 작업기를 쓰기엔 보는 사람들도 많아서

게임관련 기사 스크랩용으로 두고 이 블로그를 사용하기로 했습니다~

(음훼훼)

[##_kaAmo_##]
Posted by 랜스.

Leave your greetings here.

: 1 : ... 15 : 16 : 17 : 18 : 19 : Next »