- HTML5 2D game engine.
- 씬 관리를 통해 게임 생성을 지원.
- 씬매니져를 만들고 노드를 만들어서 씬매니져에 추가시키는 형식으로 사용.
- 권장사양 : iOS5, Android 4.0 이상
- Backbone.Model을 상속받아 만들어짐.
- 직접 DOM 트리를 구성해줌으로써 웹 브라우저의 랜더링 시스템을 활용. 속도 향상에 장점.
- Pig2d의 기본 객체는 node와 model을 합쳐서 만들어짐.
- 엔진 구성
- 노드(Pig2d.node)
: 최소 단위의 장면 구성 요소
- new Pig2d.node() : 생성자
- clone() : 노드 복제
- fineByName(name), fineByID(id) : name or id로 노드 검색
- add(child_node, parent) : 자식 노드 추가.
- removeChild(node), removeChildAll() : 자식 노드 삭제
- show(visible) : 일시적 노출 적용.
- Pig2d.Model
- Pig2d.model() : 모델 생성자.
- Model Method
- setPosition(x,y) : 이동
- getPosition() : 위치 조회
- translate(delte, direction_vector) : 방향과 거리만큼 이동.
예. 초당 10의 속도로 오른쪽으로 이동
node.get(‘model’).translate(deltaTime*10, new gbox3d.core.Vect2d(1,0));
- setRotaion(degree) : 객체 회전.
- getRotation() : 현재 회전값.
- rotate() : 회전 증가.
- setScale() : 확대값 조절.
- getScale() : 크기 조회.
- Animator Method
- transition() : 애니메이션 표현.
- SpriteModel
- 스프라이트 애니메이션 기능이 있는 모델
- new Pig2d.SpriteModel() 로 생성.
- new Pig2d.SpriteModel( {
data: {
“name” : “”,
“frames” : “” },
imageObj:
}
- 장면 관리자 (SceneManager)
- 생성자
new Pig2d.SceneManager({
container : ,
window_size : { width: , height: }
});
- 전반적인 장면 관리.
- updateAll() : 엔진을 최신상태로 변경. 화면 갱신 등에 사용.
- 그 외 노드 생성 헬퍼 함수
- Pig2d.util.createDummy()
- Pig2d.utils.createImage()
- Pig2d.util.createSlicedImage()
- Pig2d.util.createSprite()
- 마우스 스팟 컨트롤(Mouse Spot Control)
- 객체 생성
new Pig2d.util.controller.MouseSpot({
listener_element : , // 이벤트를 받아내는 엘리먼트 객체.
node : , // 컨트롤하고 싶은 장면 노드.
speed : , // 초당 이동 속도. 예. 200 : 초당 200 픽셀.
setupCallBack : function() { }, // 컨트롤러가 세팅되고 초기화하는 시점에 호출되는 콜백.
endCallBack : function() {}, // 이동 완료 후 호출되는 콜백 함수.
startCallBack : function(evt) {}// 이동 시 시작될 때 호출되는 콜백 함수.
});
- 스프라이트 노드 객체 생성
Pig2d.util.createSprite({
texture : , // 이미지 등의 텍스쳐.
animation : , // 애니메이션을 위한 프레임 배열.
});
- 애니메이션 상태 설정
node.get(‘model’).setupAnimation({
startFrame: , // 첫번째 애니메이션 프레임 지정.
endFrame: , // 마지막 애니메이션 프레임 지정.
isAnimationLoop: , // 애니메이션 반복 여부를 설정.
AnimationStatus: , // 애니메이션 상태를 설정. (‘play’ : 재생, ’stop’ : 정지)
});
- 다중 스크롤 효과 객체 생성
new Pig2d.util.scroller.type_finalfight({
scroll_center: , // 사용자의 스크롤 입력 시 좌우 기준이 되는 값. 현재 스크롤 위치에서 상대적인 좌표.
speed : , // 스크롤 되는 속도.
front_layer: , // 전경 레이어.
back_layer: , // 배경 레이어
backlayer_rate: // 배경 레이어의 속도 비율. 일반적으로 전경 대비 배경 레이어의 가로 크기 비율로 정함.(배경 가로 크기/전경 가로 크기)
})
- 선간의 충돌 처리
gbox3d.geo.Intersection.intersectionLineLine(a1, a2, b1, b2)
참고 : http://www.yes24.com/24/goods/12495696?scode=032&OzSrank=1
'기술 > 기타' 카테고리의 다른 글
맥에서 여러개의 파일명을 한번에 바꿀 때. (0) | 2016.01.30 |
---|---|
맥에서 블루투스 연결이 안되고, 아이콘 선택 시 ‘BlueTooth, 사용 가능 하지 않음’ 이라고 뜰 때 해결책 (0) | 2016.01.21 |
맥에서 매직마우스나 트랙패드 커서가 튀는 경우. (0) | 2014.10.08 |
Google AdSense 계정 승인은 2단계까지 한 이후에 난다. (0) | 2013.10.29 |
[링크] 최신 자바스크립트 개발을 위해 준비하기 (Preparing Yourself for Modern JavaScript Development) (0) | 2012.08.07 |