한 오브젝트의 property에서 tweenlinecomponent를 통하여 object의 움직임을 제어할수있음 종료방식에서 one round trip으로 하면 설정한 위치만큼 이동했다가 다시 돌아오고 끝 Repeat round trip으로 설정하면 계속 반복적으로 이동함. 선형운동방식을 통하여 운동방식을 바꿀수있음 오브젝트를 움직이고 싶으면 tweenlinecomponent사용!!
Tweencircularcomponent 오브젝트를 회전시키게 만듬 회전 반경, 각도 속도 제어가능
Tweenfloatingcomponent 폭을 설정하여 오브젝트가 위아래로 운동할수있게 하는 componenent Rigidbodycomponent object에게 중력과 같은 물리엔진을 설정해주는 component임 이 component가 존재하지않는 오브젝트들은 중력의 영향을 받지않아서 공중에 떠있음 원점 정보가 다름에 따라 이상한 위치까지 떨어질때도있음. Isblockverticalline기능을 통하여 블록의 접근성 또한 제어 할 수 있음. Quarter view기능을 통하여 화면상에 떠서 움직이게 할 수있음 가속도들도 설정 가능(광장같은 맵에서 사용하면 어울릴거같음) Movement component를 이용해 이동속도와 점프력을 제어할수있음. 이 component를 없애면 이동이 불가능함.
기존에있는 trap entity들은 triggercomponent(충돌을 제어하는 component)가 없음 그래서 이 trap에 triggercomponent를 설정해준뒤 work space에 있는 my desk에서 create script>create component를 만들어준뒤 myplayer라는 component를 만들어주고 이 곳에
이런식으로 충돌했을때의 이벤트를 설정해주면 됨.
이렇게 설정하면 사용자가 아까 triggercomponent를 설정해줬던 trap이랑 충돌했을경우 충돌이라는 이벤트가 발생됨. 이때 아까 myplayer이라는 component를 설정해줬었는데 이 component를 사용자에게 적용해줘야하기 때문에 Defaultplayer에 꼭 이 component를 적용해줘야함.
충돌이 발생했을때 log를 통하여 서버에 충돌이라는 문자가 뜨는게 아닌 사용자가 trap과 닿았을때 닿은 방향 반대방향으로 5만큼 밀려나게 하기 위해 아까 물리엔진을 제어해주는 component인 rigidbodycomponent를 사용하여줄수도있음.
아까 학습했던 tweenlinecomponent를 활용하여 움직이는 trap들도 만들수있을거같음. Player component를 이용하여 사용자의 체력과 닉네임을 제어해줄수있는데 이때 아까 만들었던 trap에 닿으면 체력이 100이 깍이도록 설정해줄수도있음
-100으로하면 물체와 충돌했을때 체력 100이 깍임
또 다른 playercontrollercomponent를 이용하여 왼쪽으로부터 trap과 부딪혔을때 오른쪽으로 5만큼 튕겨지게하고 오른쪽으로부터 부딪혔을때 왼쪽으로5만큼 튕겨지게할수도있음. 또한 이 component를 이용하여 고정방향을 설정해줄수도있음.
Scene maker에 있는 tileMap entity에 타일맵에 대한 property들이 있음. Color 원하는 색상 배치가능 TilesetRUID 우측 아이콘 선택하면 sprite picker에서 원하는 타일 리소스들 있음 리소스들의 RUID복사를 통해 바꿀수도있음
FootHold
상단에 file>setting>만들기에 발판정보라는 정보 옵션이 있는데 클릭하면 맵안에서의 발판정보가 화면상으로 나옴 좌측에 foothold 옵션을 누르면 여러 entity들이 뜨는데 이런 entity들은 각자의 발판기능을 가지고있는 entity임 이 entity를 우클릭하게 되면 edit foothold옵션이 뜨는데 이걸 누르면 entity안에 발판기능이 어디에 적용되는지 알수있고 제어할수있음 Addpoint를 통하여 발판 포인트를 추가할수있음 디자인후 변경된 사항들을 저장하려면 entity 우클릭을하여 exit edit foothold를 통하여 저장가능. Foothold entity의 property수정 창에서 customfootholdcomponent기능을 통하여서도 발판 기능을 수정할수있음. TileMap property수정창에서도 foothold를 수정할수있으며 사용자와의 바닥 마찰력,속력도 제어가능.
Panels에서 maplayer을 활성화시켜서 maplayer창 보이게 가능 하나의 맵에는 최대 10개의 layer생성 가능 layer잠금 가능 Duplicate를 통해 layer복제 가능 만약 한 layer에 있는 object를 다른 layer로 옮기고 싶으면 그 object의 property에 있는 sortinglayer로 해당 object를 다른 layer로 바꿔주면됨.
거의 모든 entity에 사용함 월드상에서 entity들이 어디에 위치하는가를 나타냄 특수한 형태를 제외하고는 다 있음. 가장 큰 특징은 위치정보를 가지고있다. Transform component의 Property들 중에는 Position 정보가있음 xyz 2차원이라 실제론 xy라고 봐도됌. Scale은 크기를 나타냄. Rotation은 회전값임 entity의 각도를 변경할수있음. 부모와 자식 구조를 이용하여 entity들의 디자인을 좀 더 쉽게 할 수 있음. World position은 절대좌표이고 Position은 자식은 부모에 대한 상대 좌표임 부모 entity는 월드에 대한 상대좌표라고도 할 수 있을거같음.
Spriterenderercomponent
Entity에 어떤 이미지를 표시할까 결정해주는 것 SpriteRUID가 이미지를 뜻한다고 보면됌 예를들어서, 어떠한 빈 entity를 만들면 이미지가 없기때문에 그냥 버섯모양의 형태로 화면상에 뜨는데 이때 spriterenderercomponent를 넣어주고 그 안에 property인 spriteRUID에 나무 entity가 가지고있는 spriteRUID를 붙여넣으면 빈entity가 나무이미지로 나타남. 연속된 이미지또한 RUID가 있음 Playrate는 움직임이 있는 이미지라면 이미지의 속도임 Endframeindex와 startframeindex를 설정하여 움직이는 이미지의 움직임을 제어할수있음 무슨소리냐하면 한 움직이는 이미지가 5개의 이미지가 반복되면서 하나의 움직이는 이미지가 된다고 치면 이때 startframeindex를 1로 endframeindex를 2로 한다면 1번과2번 이미지가 반복되면서 화면에 나타나게 되는것임. Filpxflipy는 각각 x축y축으로 반전되는것을 뜻하는 property임 origin을 기준으로 반전됨.
Color은 entity에 색을 입히는 property Drawmode 를 tiled로 변환한후 tiled size를 조정하면 entity를 원하는 갯수만큼 중복하며 동시에 화면에 나타낼수있음 예를들어 drawmode를 tiled로 한 후 tiled size에서 x축을 3이라고하면 x축에 똑같은 entity가 기본 entity를 포함하여 도합 3개가 생김 1.5라고한다면 도합1개에 entity가 반이 잘리게 화면에 나타나게됨.
월드내에 구성을 하고있는 어떠한 것 오브젝트, 지형같은 형태들을 엔티티라고 함 최상위에 있는 월드 또한 entity로 칭함 각각의 entity들은 여러개의 component로 구성되어있음. Scene maker패널에 모든 entity들이 다 나와있음 다 계층구조를 이루고있고 부모자식 형태로 이루어져있음(맵 디자인할때 유용할거같음)
Component
어떠한 가능 단위를 그 기능애 특화되게 만들어낸 형태이고 entity는 그 성격을 가지게됨. Entity에 특정 기능을 가진 component를 추가하게되먼 entity가 그 성격을 가짐. Porperty는 component내에 있는 조정하는 세부적인 값들이라고 보면 됨. 예를들어 portal의 이동할 위치를 설정해주려고 하면 portal의 component에서 portal entityref에서 어디로 이동할지 값을 바꿔주면 되는데 이때 portal entityref가 porperty라고 보면 됨. Work space에 baseenvironment>Nativescript>MODcomponent에 여러 component기능들이 구현되어있음. 예시로 Nametagcomponent를 통해 오브젝트의 이름 표시 가능 이것 또한 porperty조작을 통해 폰트색 폰트 크기 등 변경 가능함. 개발자 페이지api에 상세히 나와있음
Logic과 service는 하나씩만 있음 Service는 재가공 불가능함 Logic 은 크리에이터가 직접 작업을 할 수 있음
Model
이미 규격화되어있는 것을 말함 특정 entity와 component의 집합체를 말함 이미 만들어진 entity를 모델로 만들수도있음 엔티티를 우클릭후 make original model로 모델 생성 가능. 생성된 모델들은 work space에 my desk에있음
게임출시 통해 다른사람과 같이 플레이 가능 최대 플레이어수,플레이 가능 여부,리메이크 허용 여부,플레이 가능 기기 및 이미지 첨부 가능
Revision
버전 기록 가능(백업 기능) 수정한 부분에 대해서 되돌리기 가능 특정 버전의 revision을 파일로 저장 가능
Setting
그래픽,사운드,언어 등 다양한 만들기 기능 사용 가능
Panels
Property, workspace, debug 등의 화면들을 원하는대로 화면에 도킹 가능 reset panel을 이용해 도킹이 없는 화면으로 돌아가기 가능
Window
Map list- 새로운 맵 만들기 가능,복제 삭제 가능 Maple story map- 메이플 스토리에 있던 모든 맵들 불러오기 가능 스크립트 관리자- 여러 옵션(player skill,player attack,UIpopup,UItoast)들 다운받아 사용 가능
Help
외부 링크 사용 가능 리소스 검색 가능
Tile
원하는 모양에 따라서 저절로 디자인 가능 원하는 지점에서 시작 가능
Object
기본적인 오브젝트들은 이미지 정도
Monster
몬스터들에게 데미지를 주고 공격을 해야하는건 따로 구현해야함 그저 움직임 단순한 몬스터의 움직임 상태만 있음
Npc
말풍선 기능 이름 설정 기능
Foothold
발판 기능이 있는 것들이 있음 Edit foothold기능을 통해 수정 가능 사다리와 로프 기능도 있음
Bgm
Bgm 설정가능
배경도 설정 가능
Scene maker
계층관계 구조 만들기 가능 오브젝트의 배치에 대해 관리 가능
Work space
오브젝트의 본문 모델이 추가됨 엔티티의 원본 파일 탐색기라고 생각하면 됨
Property
객체의 움직임 설정이 가능함 객체가 가진 수치들 뿐만 아니라 속성도 부여 가능 크기와 위치 설정 가능 Climbablecomponent기능을 통해 오브젝트를 사다리 처럼 탈수있게 구현 가능 Tweenlinecomponent기능을 통해 오브젝트의 움직임을 구현 할 수 있다
Map layer
한 레이어에는 한 종류의 타일 밖에 생성하지 못하기 때문에 새로운 layer을 생성하여 맵위에 다시 생성해야한다. 레이어간 순서 바꿈을 통해 화면에 비춰지는 모습 다르게 할수있음
Create scripts
Work space에 있는 mydesk를 우클릭 한 후 나오는 스크립트 추가를 누른후 create component 를 눌러서 스크립트 추가가 가능하다 이 create component를 누른후 나오는 화면에서 각각의 property를 추가해서 오브젝트를 클릭한 후에 add component를 통해 내가 썼던 property들을 적용 할 수 있다.
이런식으로 property +버튼 눌러서 적용 가능 Function을 통해 메소드 추가 가능
Sprite picker
객체가 가지고있는 속성은 그대로 하고 객체의 이미지만 바꾸고 싶다면 객체의 property에서 spriterenderercomponent 에서 spriteRUID를 통해 sprite picker로 들어가서 이미지를 변경 할수있음. RUID값 복사해서 붙여넣어도 이미지만 변경 가능. Panels에 UIresourecestorage를 통해 이미지 테두리 편집 가능