본문 바로가기

반응형

Cocos2d-x v3.17/기본기능

(20)
[Cocos2d-x 기본기능]Scene 소개 및 생성 Scene 씬은 하나의 그릇이다.게임내의 많은 객체를 포함시키는 그릇말이다.예를들면 Sprite,Label 과 같은 노드들이다. 영화로 보면 어떤 장면을 보면서 무슨일이 일어나는지 알수있다.영화는 최소 하나이상의 장면이 있다.게임도 하나이상의 Scene이 있다.Cocos2d-x를 이용하여 게임개발을 하면 당신은 많은 갯수의 씬을 제작할수 있고 다른 씬과 간단하게 전환할수 있다. 출처: 씬 생성 씬을 생성하는건 간단하다. C++ auto myScene = Scene::create(); 씬 그래프를 아직 기억합니까? 챕터2에서 우린 씬 그래프를 배웠고 게임에서 어떤 효과가 나는지도 배웠다.씬그래프가 씬 안에 노드가 렌더링되는 순서를 결정하는걸 기억하라.그리고 z-order도 씬그래프에서 어떤식으로 작용하는지..
[Cocos2d-x 기본기능] Clone,Reverse Action의 Clone Clone의 기능은 단어의 뜻과 같다.만약 당신이 하나의 노드에 Clone()을 사용했다면 당신은 이노드의 Clone을 복사해온다. 왜 우리는 clone()을 사용하는가?왜냐면 Action을 실행하면 노드의 속성과 변화를 기록하는 내부상태가 하나 발생한다.당신이 하나의 Action을 생성하고 해당 Action을 다른 노드에 계속 사용하고 싶으면 clone()을 사용해야 한다.왜냐면 이Action의 동작속성이 어떻게 되있는지 알수가 없기 떄문이다.(이미 사용되었기때문에 언급했던 내부상태가 발생했다)이것은 예측할수 없는 결과를 낳을수 있다. 예제를 보자.만약 당신에게 좌표위치가 (0,0)의 heroSprite가 있다.아래 코드를 실행해보자. C++ MoveBy::create(10, ..
[Cocos2d-x 기본기능]Sequence,Spawn Sequence Sequence는 여러 Action들을 포장한것이다.이것을 노드에 넣어주면 포장된 동작들이 순서대로 실행된다. 하나의 시퀀스는 많은 Action과 콜백메소드 및 다른 시퀀스를 포함시킬수 있다.Cocos2d-x는 CallFunc을 시퀀스에 추가하는걸 허락한다. 이렇게 시퀸스에 콜백 메서드를 추가하면 Cocos2d-x가 제공하는 제한적인 Action을 보다 다양하게 사용할수 있다. 아래는 시퀀스의 동작 순서도이다. Sequence 예시 C++ auto mySprite = Sprite::create("mysprite.png"); // create a few actions. auto jump = JumpBy::create(0.5, Vec2(0, 0), 100, 1); auto rotate = R..
[Cocos2d-x 기본기능]변속운동 변속운동 변속동작은 노드가 가속도를 가지게 하고 부드럽게 함과 동시에 상대적으로 복잡한 Action을 수행한다.따라서 변속운동을 이용하여 물리운동을 모방할수 있다.이렇게 하면 실제로 물리엔진을 사용하는것보다 성능소비가 낮고 사용하기도 쉽다.변속운동을 메뉴나 버튼에 사용하는것도 좋다. Cocos2d-x는 위 그림중 대부분의 변속운동을 지원한다.구현하기도 간단하다.예를들어보자.스프라이트가 스크린 위쪽에서 낙하한후 계속 점프하는 예제이다. C++ // create a sprite auto mySprite = Sprite::create("mysprite.png"); // create a MoveBy Action to where we want the sprite to drop from. auto move = Mo..
[Cocos2d-x 기본기능]프레임 애니메이션 프레임 애니메이션 Animate를 사용하여 아주 쉽게 일정시간마다 이미지를 변경해주는 방식이다.아래의 예를 보자 C++ auto mySprite = Sprite::create("mysprite.png"); // now lets animate the sprite we moved Vector animFrames; animFrames.reserve(12); animFrames.pushBack(SpriteFrame::create("Blue_Front1.png", Rect(0,0,65,81))); animFrames.pushBack(SpriteFrame::create("Blue_Front2.png", Rect(0,0,65,81))); animFrames.pushBack(SpriteFrame::create("Blu..
[Cocos2d-x 기본기능]FadeIn,FadeOut,TintTo,TintBy FadeIn FadeOut FadeIn FadeOut 을 사용하여 페이드인,아웃을 조절한다.페이드인은 노드의 투명도설정을 변경한다.완전투명->완전불투명으로 동작하고 FadeOut은 반대이다. C++ auto mySprite = Sprite::create("mysprite.png"); // fades in the sprite in 1 seconds auto fadeIn = FadeIn::create(1.0f); mySprite->runAction(fadeIn); // fades out the sprite in 2 seconds auto fadeOut = FadeOut::create(2.0f); mySprite->runAction(fadeOut); TintTo TintBy TintTo TintBy 를 사용하..
[Cocos2d-x 기본기능] 이동,회전,스케일 이동 MoveTo MoveBy를 사용하여 대상 객체가 설정된 시간후에 이동한다. C++ auto mySprite = Sprite::create("mysprite.png"); // Move a sprite to a specific location over 2 seconds.auto moveTo = MoveTo::create(2, Vec2(50, 0)); mySprite->runAction(moveTo); // Move a sprite 50 pixels to the right, and 0 pixels to the top over 2 seconds.auto moveBy = MoveBy::create(2, Vec2(50, 0)); mySprite->runAction(moveBy); 출처: 회전 RotateTo ..
[Cocos2d-x 기본기능]Action 소개 및 By 와 To 의 구별 Action Action의 기능은 보이는 그대로 액션이다.Action은 Node의 속성을 변경하고 어떤 동작을 표현하게 한다.그 동작대상은 실제로 Node의 속성을 변경시키고 어떤 대상이든 Node의 자식이면 변경시킬수 있다.예를들면 어떤 스프라이트의 위치이동을 할때이다.(Sprite는 Node의 자식 클래스). MoveTo와 MoveBy두가지 방식이 있다. C++ // Move sprite to position 50,10 in 2 seconds. auto moveTo = MoveTo::create(2, Vec2(50, 10)); mySprite1->runAction(moveTo); // Move sprite 20 points to right in 2 seconds auto moveBy = MoveBy:..

반응형