챕터 3 - 표창을 발사하는 방법

|

표창을 던져서 적을 죽이는 코드를 추가하자. 먼저 레이어에 터치가 가능하게 하는 코드를 추가하자

bool HelloWorld::init() 맨 아래에 추가(return true 바로위)

 

//터치가능하게

this->setTouchEnabled(true);

Cllback 함수인

"void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);"

를 HelloWorldScene.h 에 추가하고

HelloWorld.cpp 에 아래 함수를 추가하자

이제 터치를 하면 표창을 던질수 있다.

 

 

 

 


 

 

소스 설명

 

 

  int realX = winSize.width + (projectile->getContentSize().width/2);

  float ratio = (float)offY/(float)offX;

  int realY = (realX * ratio) + projectile->getPosition().y;

 

ratio = 삼각함수 비를 그대로 곱해줘서 x값에 비례하는 y값을 구할수 있습니다.

 

 

 


 

 

float length = sqrtf((offRealX * offRealX) +(offRealY * offRealY));

float velocity = 480/1;

float realMoveDuration = length/velocity;

 

1. length 는 피타고라스의 정리 a^2 + b^2 = c^2

sqrtf 함수는 제곱근을 구하는 함수입니다.

2. velocity 는 속력을 구하는 공식입니다.

가로 길이 480 / 1초

3. 시간을 구하는 함수입니다.

시간= 거리/속력

 

기초 물리공식

거리: 속력*시간

속력: 거리/시간

시간: 거리/속력 입니다..  

*계산 예문

 거리는? 60km *1시간 = 60km       속력은? 60km /1시간 = 60km     시간은? 60km / 60km =1시간

Trackback 0 And Comment 0