●터치하면 캐릭터가 점프하고 장애물을 피하는 게임이다. 장애물에 충돌하면 패배화면으로 넘어간다. 코인에 충돌하면 스코어가 오른다.







●구조






●파일, 리소스 목록








●파일 목록


AppDelegate


LoadingLayer - 로딩 화면


MainMenuLayer - 메인 메뉴 화면


StageSelect - 스테이지 선택 화면


Stage1Layer - 스테이지1 


Stage2Layer - 스테이지2


StageIdx - 스테이지1을 깨야 스테이지2가 선택되도록 처리하기 위한 싱글톤 클래스를 구현


WinLayer - 승리화면


LoseLayer - 패배화면







●동영상










Posted by -현's-

댓글을 달아 주세요


●CCSequence

- 액션의 순서를 정하고 순차적으로 실행한다.


void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

CCActionInterval* action1=CCMoveTo::create(2,ccp(100,200));

CCActionInterval* action2=CCRotateBy::create(2,90);

CCActionInterval* action3=CCScaleTo::create(2, 2.0);


CCFiniteTimeAction* seq=CCSequence::create(action1, action2, action3, NULL);


pMan->runAction(seq);

}

 








●CCSpawn

- 등록된 모든 액션을 동시에 시행한다.


void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

CCActionInterval* action1=CCMoveTo::create(2,ccp(100,200));

CCActionInterval* action2=CCRotateBy::create(2,90);

CCActionInterval* action3=CCScaleTo::create(2, 2.0);


CCFiniteTimeAction* seq=CCSpawn::create(action1, action2, action3, NULL);


pMan->runAction(seq);








●CCDelayTime

- 스퀀스(Sequence)로 액션을 등록 떄 일정시간 지연 효과를 준다.


//doAction 메서드 정의

void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

CCActionInterval* action1=CCMoveTo::create(2,ccp(100,200));

CCActionInterval* action2=CCRotateBy::create(2,90);

CCActionInterval* action3=CCScaleTo::create(2, 2.0);


CCFiniteTimeAction* seq=CCSequence::create(action1, CCDelayTime::create(2), action2, action3, NULL);


pMan->runAction(seq);








●CCRepeat, CCRepeatForever

- CCRepeat는 지정한 횟수만큼 반복시키고, CCRepeatForever는 무한 반복시킨다.


void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

CCActionInterval* action1=CCMoveBy::create(2,ccp(100,0));

CCActionInterval* action2=CCRotateBy::create(2,90);

CCActionInterval* action3=CCScaleBy::create(2, 2.0);


CCFiniteTimeAction* seq=CCSequence::create(action1,CCDelayTime::create(2), action2, action3, NULL);


CCActionInterval* rep=CCRepeat::create(seq, 3);  // 무한반복하려면 CCRepeatForever::create(seq);


pMan->runAction(rep);

}










'프로그래밍 > cocos2d-x' 카테고리의 다른 글

cocos2d-x 트랜지션(Transition) 추가,삭제,교체  (0) 2013.05.30
cocos2d-x 액션3  (0) 2013.05.29
cocos2d-x 액션2  (0) 2013.05.28
cocos2d-x 액션1  (0) 2013.05.28
cocos2d-x 메뉴  (0) 2013.04.27
cocos2d-x 스프라이트(sprite)  (0) 2013.04.25
Posted by -현's-

댓글을 달아 주세요

 

 

●액션

- 많은 액션은  By와 To로 나뉘는데 By는 지정한 값만큼 변하는 것이고, To는 지정한 값으로 변하는 것이다.

- 위치관련 - CCMoveBy, CCMoveTo, CCJumpBy, CCJumpTo, CCBezierBy, CCBezierTo, CCPlace

- 크기관련 - CCScaleBy, CCScaleTo

- 회전관련 - CCRotateBy, CCRotateTo

- 가시성 - CCShow, CCHide, CCBlink, CCToggleVisibility

- 투명도 - CCFadeIn, CCFadeOut, CCFadeTo

- 색관련 - CCTintBy, CCTintTo

 

 

 

 

 

●액션 기본 예제 - HelloWorldScene.cpp의 doAction함수안에 여러가지 액션 함수를 넣어 액션 예제를 확인한다.


- HelloWorldScene.h


#ifndef __HELLOWORLD_SCENE_H__


#define __HELLOWORLD_SCENE_H__


#include "cocos2d.h"


#include "Box2D/Box2D.h"


#include "SimpleAudioEngine.h"


class HelloWorld : public cocos2d::CCLayerColor

{

public:

    virtual bool init();  


    static cocos2d::CCScene* scene();

    

    CREATE_FUNC(HelloWorld);


cocos2d::CCSprite* pMan;

void doAction(CCObject* pSender);

void doActionReverse(CCObject* pSender);

void doActionReset(CCObject* pSender);


};


#endif  // __HELLOWORLD_SCENE_H__


 



- HelloWorldScene.cpp


 #include "HelloWorldScene.h"


using namespace cocos2d;


CCScene* HelloWorld::scene()

{

CCScene *scene=CCScene::create();


HelloWorld *layer=HelloWorld::create();

scene->addChild(layer);


return scene;

}


// on "init" you need to initialize your instance

bool HelloWorld::init()

{

if(!CCLayerColor::initWithColor(ccc4(255,255,255,255)))

{

return false;

}


///////////////////////


//메뉴 아이템 생성 및 초기화

CCMenuItemFont* pMenuItem1=CCMenuItemFont::create(

"Action", this, menu_selector(HelloWorld::doAction));

pMenuItem1->setColor(ccc3(0,0,0));


CCMenuItemFont* pMenuItem2=CCMenuItemFont::create(

"ActionReverse", this, menu_selector(HelloWorld::doActionReverse));

pMenuItem2->setColor(ccc3(0,0,0));


CCMenuItemFont* pMenuItem3=CCMenuItemFont::create(

"ActionReset", this, menu_selector(HelloWorld::doActionReset));

pMenuItem3->setColor(ccc3(0,0,0));


//메뉴 생성

CCMenu* pMenu=CCMenu::create(pMenuItem1, pMenuItem2, pMenuItem3, NULL);


//메뉴 배치

pMenu->alignItemsHorizontally();


//메뉴 위치 지정

pMenu->setPosition(ccp(240, 50));


//레이어에 메뉴 객체 추가

this->addChild(pMenu);



//Grossini 스프라이트 추가

pMan=CCSprite::create("Images/grossini.png");

pMan->setPosition(ccp(50,200));

this->addChild(pMan);

return true;

}


//doAction 메서드 정의

void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

}


//doActionReverse 메서드 정의

void HelloWorld::doActionReverse(CCObject* pSender)

{

//액션 리버스 정의

}


//doActionReset 메서드 정의

void HelloWorld::doActionReset(CCObject* pSender)

{

//좌표 초기화

pMan->setPosition(ccp(50, 200));


//회전 초기화

pMan->setRotation(0.0);


//크기 초기화

pMan->setScale(1.0);

}

 

 

 



 

 

 



 

 

●MoveBy

- ccp(x, y) 해당 값만큼 이동한다.



 //doAction 메서드 정의

 void HelloWorld::doAction(CCObject* pSender)

 {

//액션 정의

CCActionInterval* myAction=CCMoveBy::create(2, ccp(400, 0));

pMan->runAction(myAction);

 }


 //doActionReverse 메서드 정의

 void HelloWorld::doActionReverse(CCObject* pSender)

 {

//액션 리버스 정의

CCActionInterval* myAction=CCMoveBy::create(2, ccp(400,0));

CCActionInterval* myActionBack=myAction->reverse();

pMan->runAction(myActionBack);

 }



 

 

 

 


JumpBy

- (2, ccp(400,0), 50, 3) - cpp(400,0) 만큼 이동하면서 50 높이만큼 3번 점프한다.


 //doAction 메서드 정의 

 void HelloWorld::doAction(CCObject* pSender)

 {

//액션 정으

CCActionInterval* myAction=CCJumpBy::create(2, ccp(400, 0), 50, 3);

pMan->runAction(myAction);

 }


 //doActionReverse 메서드 정의

 void HelloWorld::doActionReverse(CCObject* pSender)

 {

//액션 리버스 정의

CCActionInterval* myAction=CCJumpBy::create(2, ccp(400 ,0), 50, 3);

CCActionInterval* myActionBack=myAction->reverse();

pMan->runAction(myActionBack);

 } 


 



 

 


●CCBezierBy

- 해당값만큼 곡선으로 이동한다.



void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

ccBezierConfig bezier;

bezier.controlPoint_1=ccp(150, 150);

bezier.controlPoint_2=ccp(250, -150);

bezier.endPosition=ccp(350,0);


CCActionInterval* myAction=CCBezierBy::create(3, bezier);


pMan->runAction(myAction);

}


//doActionReverse 메서드 정의

void HelloWorld::doActionReverse(CCObject* pSender)

{

//액션 리버스 정의

ccBezierConfig bezier;

bezier.controlPoint_1=ccp(150, 150);

bezier.controlPoint_2=ccp(250, -150);

bezier.endPosition=ccp(350,0);


CCActionInterval* myAction=CCBezierBy::create(3, bezier);

CCActionInterval* myActionBack=myAction->reverse();


pMan->runAction(myActionBack);


}









CCPlace

- 해당 위치로 즉시 이동한다.



 void HelloWorld::doAction(CCObject* pSender)

{

//액션 정의

CCFiniteTimeAction* myAction=CCPlace::create(ccp(300,200));


pMan->runAction(myAction);



}










●CCScaleBy

- 해당 수치만큼 크기를 조절한다.


void HelloWorld::doAction(CCObject* pSender)

{

//액션 액션

CCActionInterval* myAction=CCScaleBy::create(2, 2.0);   //create(시간, 배수)


pMan->runAction(myAction);

}



//doActionReverse 메서드 정의

void HelloWorld::doActionReverse(CCObject* pSender)

{

//액션 리버스 정의

CCActionInterval* myAction=CCScaleBy::create(2, 2.0);

CCActionInterval* myActionBack=myAction->reverse();


pMan->runAction(myActionBack);


}









CCRotateBy

- 해당 각도만큼 회전한다.


//doAction 메서드 정의

void HelloWorld::doAction(CCObject* pSender)

{

//액션 액션

CCActionInterval* myAction=CCRotateBy::create(2, 90);


pMan->runAction(myAction);

}



//doActionReverse 메서드 정의

void HelloWorld::doActionReverse(CCObject* pSender)

{

//액션 리버스 정의

CCActionInterval* myAction=CCRotateBy::create(2, 90);

CCActionInterval* myActionBack=myAction->reverse();


pMan->runAction(myActionBack);


}








'프로그래밍 > cocos2d-x' 카테고리의 다른 글

cocos2d-x 액션3  (0) 2013.05.29
cocos2d-x 액션2  (0) 2013.05.28
cocos2d-x 액션1  (0) 2013.05.28
cocos2d-x 메뉴  (0) 2013.04.27
cocos2d-x 스프라이트(sprite)  (0) 2013.04.25
cocos2d-x CCLabelTTF  (0) 2013.04.22
Posted by -현's-

댓글을 달아 주세요



●스프라이트 출력하기

- HelloWorldScene.cpp의 init에 다음과 같이 입력해준다.


 //스프라이트 생성 및 초기화  

 CCSprite* man=CCSprite::create("images/이미지 이름.png");

 

 //스프라이트 위치 지정

 man->setPosition( ccp(240,160));


 //레이어에 스프라이트 객체 추가

 this->addChild(man);













●이미지가 중첩될 경우 순서 정하기

- addChild에 숫자를 넣어준다. 숫자가 큰게 위에 온다.


 this->addChild(man,숫자)










 

●두 이미지를 한번에 묶기

- 하나의 스프라이트에 다른 스프라이트를 포함 시킬수 있다.

- 스프라이트를 합치게 되면 자식 스프라이트의 좌표 기준점은 부모스프라이트의 왼쪽 하단이 된다.


#include "HelloWorldScene.h"


using namespace cocos2d;


CCScene* HelloWorld::scene()

{

    CCScene *scene=CCScene::create();


HelloWorld *layer=HelloWorld::create();


scene->addChild(layer);


    // return the scene

    return scene;

}


// on "init" you need to initialize your instance

bool HelloWorld::init()

{

if(!CCLayerColor::initWithColor(ccc4(255,255,255,255))){

return false;

}



    //부모 스프라이트 생성 및 초기화

CCSprite* man=CCSprite::create("images/grossini.png");


//스프라이트 위치 지정

man->setPosition( ccp(240,160));


//레이어에 스프라이트 객체 추가

this->addChild(man);

//-------------------------------------------


//자식 스프라이트 생성 및 초기화

CCSprite* bar=CCSprite::create("images/white-512x512.png");


//스프라이트 모양 및 크기를 설정

bar->setTextureRect(CCRectMake(0,0,50,5));


//스프라이트 색 설정

bar->setColor(ccRED);


//위치 지정

CCSize parentSize;

parentSize=man->getContentSize();          //부모 스프라이트의 길이 가져옴

bar->setPosition(ccp(parentSize.width/2.0, parentSize.height+15));


man->addChild(bar);


return true;



}

 








'프로그래밍 > cocos2d-x' 카테고리의 다른 글

cocos2d-x 액션1  (0) 2013.05.28
cocos2d-x 메뉴  (0) 2013.04.27
cocos2d-x 스프라이트(sprite)  (0) 2013.04.25
cocos2d-x CCLabelTTF  (0) 2013.04.22
cocos2d-x Visual studio 프로젝트 생성할때 스크립트 오류  (0) 2013.04.19
cocos2d-x 프로젝트 기본형  (0) 2013.04.15
Posted by -현's-

댓글을 달아 주세요




●화면에 글자 출력하기

- HelloWorldScene.cpp의 init부분에 다음과 같이 입력한다


 #include "HelloWorldScene.h"


using namespace cocos2d;


CCScene* HelloWorld::scene()

{

    CCScene *scene=CCScene::create();


HelloWorld *layer=HelloWorld::create();


scene->addChild(layer);


    // return the scene

    return scene;

}


// on "init" you need to initialize your instance

bool HelloWorld::init()

{

if(!CCLayerColor::initWithColor(ccc4(255,255,255,255))){

return false;

}



       //레이블 생성 및 초기화

CCLabelTTF* pLabel=CCLabelTTF::create("Hello world", "Thonburi", 50);

       //레이블 내용은 HelloWorld이고 폰트는 Thonburi, 크기는 50이다.



//레이블 위치 지정

pLabel->setPosition(ccp(240,160));


//레이블 색 지정

pLabel->setColor(ccc3(0,0,0));

        //흰색( ccc(255,255,255) )이 기본색이다. 


//레이블의 투명도 지정

pLabel->setOpacity(100.0);


//레이어에 레이블 객체 추가

this->addChild(pLabel);


return true;



}











●글이 나오는 화면 범위 설정

- 글자가 길 경우 다음과 같이 글자가 짤린다.





- 레이블 생성,초기화 부분에 다음과 같이 추가한다.


 CCLabelTTF* pLabel=CCLabelTTF::create("aaaaaaaaab bbb bbbbc", "Thonburi", 50,

CCSize(300.0, 200.0 ),kCCTextAlignmentCenter,kCCVerticalTextAlignmentCenter); 












●Window Visual Stdio에 리소스 추가하기

- 아래의 주소에 cocos2d-x 에서 기본적으로 제공되는 예제 소스가 있다.

C:\cocos2d-2.0-x-2.0.4\samples\TestCpp\Resources


- fonts 리소스를 프로젝트의 Resources에 복사한다.







- Visual Stdio에서 해당 프로젝트의 리소스 폴더에 마우스를 대고 우클릭->추가->새필터를 추가해서한다. 새필터 이름은  fonts로 해준다.


 




- 만든 필터 fonts에 우클릭->기본 항목을 선택한다.







- 아래 창이 나타나면 방금 Resource폴더에 추가한 fonts 파일을 추가한다.



- 프로젝트에 리소스가 추가되면 빌드를 실행한다.








●추가한 폰트 사용하기

- 폰트명을 적는 란에 추가한 폰트명을 적는다.

- CCLabelTTF::create("~~". "fonts/폰트명.ttf", 숫자)










●멀티플랫폼을 목표로 개발하면 기본 폰트를 쓰는 것보다는 추가한 폰트로 출력하는 것이 좋다. 안드로이드와 ios의 기본 폰트가 다를 수 있기 때문이다.





'프로그래밍 > cocos2d-x' 카테고리의 다른 글

cocos2d-x 메뉴  (0) 2013.04.27
cocos2d-x 스프라이트(sprite)  (0) 2013.04.25
cocos2d-x CCLabelTTF  (0) 2013.04.22
cocos2d-x Visual studio 프로젝트 생성할때 스크립트 오류  (0) 2013.04.19
cocos2d-x 프로젝트 기본형  (0) 2013.04.15
cocos2d-x 기본구조  (0) 2013.04.15
Posted by -현's-

댓글을 달아 주세요



●프로젝트 생성하기

- 프로젝트를 생성한다.








- 사용할 엔진을 선택한다.








●프로젝트 종속성 선택

- 프로젝트를 선택하고 우클릭->프로젝트 종속성을 선택한다. 창이 뜨면 필요한 라이브러리를 선택한다. libcocos2d는 기본적으로 선택한다.











●AppDelegate.cpp 를 선택해서 다음 부분을 수정한다.
pDirector->setDisplayStats(true);   부분을 pDirector->setDisplayStats(false);  로 바꾸어 주면 좌측하단에 fps가 표시되지 않는다.









●HelloWorldScene.h 를 선택해서 다음 부분을 수정한다.
- CCLayer 를  CCLayerColor로 수정해준다. 기본적으로 상속받는 레이어의 배경은 검은색인데 다른색으로 변경하기 위해 수정한 것이다.
- menuCloseCallback는 기본적으로 생성된 메뉴메서드이다. 삭제하고 HelloWorldScene.cpp에서도 해당 메서드를 삭제해준다.











●HelloWorldScene.cpp를 다음과 같이 바꾸어 준다.

 #include "HelloWorldScene.h"
using namespace cocos2d;

CCScene* HelloWorld::scene()
{
    CCScene *scene=CCScene::create();

HelloWorld *layer=HelloWorld::create();

scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool HelloWorld::init()
{
if(!CCLayerColor::initWithColor(ccc4(255,255,255,255))){  //ccc4(r,g,b, 투명도)
return false;
}


    //레이블 생성 및 초기화
CCLabelTTF* pLabel=CCLabelTTF::create("Hello worldAAAA", "Thonburi", 64);
//레이블 위치 지정
pLabel->setPosition(ccp(240,160));

//레이블 색 지정
pLabel->setColor(ccc3(0,0,0));

//레이블의 투명도 지정
pLabel->setOpacity(100.0);

//레이어에 레이블 객체 추가
this->addChild(pLabel);

return true;


}








●cocos2d-x 가 설치된 폴더에서 sample->TestCpp/Resources에 들어가면 예제에서 사용할 여러 리소스들이 있다.








Posted by -현's-

댓글을 달아 주세요




●CCNode
- CCNode는 cocos2d-x의 최상위 클래스로 cocos2d-x의 모든 클래스는 이 클래스를 상속받는다.
- CCNode는 자식노드를 가질수 있다.



●CCDirector
- 싱글톤클래스로 하나의 어플리케이션에서 하나의 인스턴스만 존재한다.
- 게임의 화면을 장면단위로 구성해서 처리할 수 있는 기능을 제공한다.
- 여러 장면들을 뒤로 가게 하거나 앞으로 가도록 하는 클래스이다.



●CCScene, CCLayer
- 일반적인 게임의 메인화면, 메뉴화면, 게임화면 등이다.
- CCScene은 터치이벤트, accelerometer 입력을 처리할 수 없다.
- CCLayer는 터치이벤트, accelerometer 입력을 처리할 수 있다.



●CCSprite
- 이미지 파일을 화면에 출력하는 역할을 한다.
- 이미지 파일과 관련된 여러가지 처리를 한다.



●CCAction
- 스프라이트의 액션에 관한 처리를 한다.
- 이동,회전,점프 등의 액션을 제공한다.



●cocos2d-x 좌표계
- cocos2d-x의 원점은 좌측하단이다.




●앵커포인트(AnchorPoint)
- 메뉴, 레이블, 스프라이트 등이 레이어나 장면에 포함될 때 기준이 되는 부분이다.











Posted by -현's-

댓글을 달아 주세요



●이 블로그에서 cocos2d-x개발하는 환경은  Window7 32bit입니다.




cocos2d-x

- cocos2d-x는 c++을 사용한다.

- cocos2d-x로 프로그래밍 할 경우 별도의 수정 없이 하나의 소스로 ios, 안드로이드용 앱을 만들수 있다. 다만 ios용은 최종 컴파일은 맥에서 해야한다.

- cocos2d-x 자체가 개발 툴은 아니고 그래픽 프레임워크이기 때문에  개발툴에 설치되어야 한다. 윈도우에서는 Visual Studio, 이클립스 등, 맥에서는 Xcode에 설치해서 사용한다.

 

 

 

 

●cocos2d-x 개발 환경 세팅하기

 

- cocos2d-x 다운로드 - http://www.cocos2d-x.org 에서 cocos2d-x를 다운로드한다.

 

 

 

- 압축을 풀고 적당한 위치에 압출을 푼 폴더를 둔다.

 

- 'install-templates-msvc.bat'파일을 실행한다. 그리고 본인의 컴퓨터에 설치되어 있는 Visual Studio 버전에 맞는 'cocos2d-win32.vc.20XX.sln' 파일을 실행한다.

 

 

 

 

- 아래와 같이 나오면  템플릿 설치가 된것이다.

 

 

 


 

- 처음 실행했다면 전체 빌드를 해준다. 솔루션 우클릭->솔루션 빌드를 클릭한다.

 

 

 

 



 

 

●프로젝트 시작하기

- 솔루션 우클릭->추가->새프로젝트를 클릭한다.






 





- cocos2d-x 를 누르고 프로젝트 이름을 입력하고 ok를 누른다.

- 다음을 누르고 사용할 파트를 선택한후 finish를 누른다.








- 만든 프로젝트에 마우스를 대고 우클릭->디버그->새인스턴스시작을 누르면 실행된다.



 

 

 

 

 

 

 

 

 

 

Posted by -현's-

댓글을 달아 주세요

 

●디자인 탭에서의 마우스 버튼

 

- 왼쪽 버튼 - 게임 오브젝트 선택

 

- 오른쪽 버튼 - 화면 회원

 

- 마우스 휠 - 화면 확대/축소

 

- 휠 드래그 - 화면 이동

 

- alt+왼쪽버튼 - 화면 회전

 

- alt+오른쪽버튼 - 줌인/줌아웃

 

 

 

 

 

●File 메뉴

 

- Ctrl+N - 새 Scene 만들기

 

- Ctrl+O - Scene 열기

 

- Ctrl+S - Scene 저장

 

- Ctrl+Shift+S - 새 이름으로 Scene 저장

 

- Ctrl+Shift+B - Build 설정

 

- Ctrl+B - Build+Run

 

- Alt+F4 - 유니티 종료

 

 

 

 

●Edit 메뉴

 

- Ctrl+C/X/Y - 복사/잘라내기/붙여내기

 

- Ctrl+Z - 실행 취소

 

- Ctrl+Y - 되돌리기

 

- Ctrl+D - 오브젝트 복제

 

- Shift+Delete - 삭제

 

- F - 선택한 오브젝트 중앙 배치(하이어라키에서 오브젝트 선택후 커서를 디자인탭에 두고 F를 누른다.)

 

- Ctrl+F - 오브젝트 찾기

 

- Ctrl+A - 전체선택

 

- Ctrl+P - 게임 실행

 

- Ctrl+Shift+P - 게임 일시 정지

 

- Ctrl+Alt+P - 1단계씩 실행

 

 

 

 

 

●Assets 메뉴

 

- Ctrl+R - - 에셋 다시 읽기

 

 

 

 

 

●창/탭 이동

 

- Ctrl+1 - 디자인 탭으로 이동

 

- Ctrl+2 - 게임 창으로 이동

 

- Ctrl+3 - 인스펙터 탭으로 이동

 

- Ctrl+4 - 하이어라키 탭으로 이동

 

- Ctrl+5 - 프로젝트 탭으로 이동

 

- Ctrl+6 - 애니메이션 창 호출

 

- Ctrl+7 - 프로파일러 창 호출

 

- Ctrl+9 - 애셋 스토어 호출

 

- Ctrl+0 - 애셋 서버 호출

 

- Ctrl+Shift+C - 콘솔 창 호출

 

- Ctrl+좌우 - 다음 창으로 이동

 

- Ctrl+Shift+좌우 - 작전창으로 이동

 

 

 

 

●디자인 탭의 도구 버튼

 

- Q - 화면이동 선택

 

- W - 오브젝트 이동 선택됨

 

- E - 오브젝트 회원 선택됨

 

- R - 오브젝트 스케일 선택됨

 

- Z - Pivot/Center

 

- X - Local/Global

 

- V - 버텍스 스냅

 

 

 

 

●오브젝트 선택

 

- Ctrl+Alt+1~9 - 선택한 오브젝트 그룹화

 

- Ctrl+Shift+1~9 - 그룹화한 오브젝트 호출

 

 

 

 

 

Posted by -현's-

댓글을 달아 주세요

  1. Favicon of https://chocotart.tistory.com ChocoTart  댓글주소 수정/삭제 댓글쓰기 2014.05.16 13:19 신고

    몰르던 단축키 가 많네요~
    제 블로그에 퍼가고 싶은대 괜찮나요?
    괜찮으시 다면 퍼가는 방법이 따로잇는건가요?
    없다면 내용만 카피 해 가고
    출처를 남길게요~

●모바일 어플리케이션의 종류

네이티브 앱(Native App)
- 모바일 기기에 직접 설치되고 사용되어지는 어플리케이션이다.

 

모바일 웹(Mobile Web)
- 모바일 웹브라우저에 의해 실행되는 웹 사이트로 일반적인 웹사이트를 모바일로 옮긴 형태를 말한다.

 

하이브리드 앱(Hybrid App)
- 웹과 네이티브 앱의 중간 형태이다

 

모바일 웹앱(Mobile Web App)
- 모바일 웹의 한 형태이지만 일반적인 웹보다 모바일에 더 최적화되고 네이티브 어플리케이션화된 형태를 표현한다.

 


모바일 웹은 기존의 웹사이트를 바탕으로 레이아웃만 모바일 환경에 맞게 바꾸는 것이기 때문에 기존 일반 웹기술을 바탕으로 구현된다. 그래서 모바일 웹을 공부하기전 일단 기존 웹기술(jsp, sql, 웹서버 등)을 먼저 배워야 한다. 모바일 웹을 구현하기 위해 배워야 할 것들은 html5, css3, 모바일 웹 프레임워크(jQuery mobile, senchar touch) 등이 있다.

 

 

 

●모바일 웹의 원리

- 일반적으로 모바일 웹은 기존 웹사이트의  레이아웃을 변경하는 것이기 때문에 기존 웹페이지 하나하나를 수작업으로 모바일용 레이아웃을 만들어 주어야 한다.

 

- 기존 웹사이트의 index페이지에 해당 사이트에 접속한 브라우저가 pc브라우저인지 모바일 브라우저 인지 구분하는 스크립트를 넣어준다. 그리고 모바일 브라우저로 접속한 경우 모바일용 웹페이지로 이동시킨다.

ex)

<script>

var browser = navigator.userAgent.toLowerCase();

var user_browser = (browser.indexOf('iPhone')!=-1);          

if ( user_browser ) {

 document.location.href = "mobile_index.html";                //만약 아이폰에서 웹사이트로 접속했다면 모바일  웹으로 이동시켜라

}

</script>


 

- 모바일용 웹페이지는 따로 디렉토리에 만들어서 연결하던가(ex. http://www.주소.com/m) 2차도메인을 만들어서 연결한다(ex. www.m.주소.com).

 

 

 

Posted by -현's-

댓글을 달아 주세요