<DAY> 2016.05.25 |
|||||||||
< WORK LIST > | |||||||||
<Class> Object_Hero.cpp |
|||||||||
- WALL_DROP |
|||||||||
- Resource Work |
|||||||||
- State Apply |
1 |
WALL_DROP |
박스의 옆면의 충돌 중일 때 중력에 의해 떨어지는 힘을 0으로 만들고,
m_fAccelerator = 0;
점프키가 눌리지 않았다면 플레이어의 y값 좌표를 내려준다.
반대로 충돌중이 아니라면( NULL 이라면 ) 상태를 DROP으로 바꿔준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | case WALL_DROP: { if( ST::call()->BM.CollisionCheck( DropSet(), BOX ) == NULL ) { m_iState = DROP; if( vec.x == 1 ) pos.x -= 20.f; else pos.x += 20.f; } else { if( ST::call()->BM.Raycast( pos, CGPoint(0,-1), &Hit, m_fAccelerator ) ) m_iState = WALK; if( !m_bJumpKeyPress ) pos.y -= 150 * dt; m_fAccelerator = 0; } break; } | cs |
점프 키 제어.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | if(GetAsyncKeyState('C') && m_bJumpKeyPress == FALSE ) { if( m_iState != DROP && m_iState != JUMP && m_iState != CHAGE_JUMP && m_iState != CHAGE2_JUMP && m_iState != CHAGE_DROP && m_iState != CHAGE2_DROP && m_iState != JUMP_ATTACK && m_iState != DROP_ATTACK ) { m_bJumpKeyPress = TRUE; // ST::call()->SM.play(SND_JUMP); if( m_bAttackDown ) m_iState = CHAGE_JUMP; else if( m_bAttackDown && m_fAttackTimeDlay >= 2.4f ) m_iState = CHAGE2_JUMP; else m_iState = JUMP; // 대시 점프 시 점프 높이 상승. if( m_iPrevState == DASH || m_iPrevState == CHAGE_DASH || m_iPrevState == CHAGE2_DASH ) { m_fAccelerator = JUMPPOWER + DASH_JUMP_POWER; m_bMoveSpeedIncrease = TRUE; } else if( m_iPrevState == WALL_DROP ) { // ST::call()->SM.play( SND_WALL_JUMP ); m_fAccelerator = JUMPPOWER + 100; if( vec.x == -1 ) { pos.x += 45.f; pos.y += 10.f; } else { pos.x -= 45.f; pos.y += 10.f; } } else m_fAccelerator = JUMPPOWER; } } else if(!GetAsyncKeyState('C')) m_bJumpKeyPress = FALSE; | cs |
2 | Resource Work |
WALL_DROP
WORK |
IDLE |
WALK |
ATTACK |
DASH |
JUMP |
DROP |
START |
JUMP_ATTACK |
DROP_ATTACK |
SHOT |
MIDDLES_SHOT |
FULL_SHOT |
WALK_ATTACK |
CHAGE_IDLE |
CHAGE_WALK |
CHAGE_DASH |
CHAGE_JUMP |
CHAGE_DROP |
CHAGE2_IDLE |
CHAGE2_WALK |
CHAGE2_DASH |
CHAGE2_JUMP |
CHAGE2_DROP |
LADDER_UP |
LADDER_DOWN |
New WALL_DROP |
3 | State Apply |
WALL_DROP
STATE APPLY |
IDLE |
WALK |
ATTACK |
DASH |
JUMP |
DROP |
START |
JUMP_ATTACK |
DROP_ATTACK |
SHOT |
MIDDLES_SHOT |
FULL_SHOT |
WALK_ATTACK |
CHAGE_IDLE |
CHAGE_WALK |
CHAGE_DASH |
CHAGE_JUMP |
CHAGE_DROP |
CHAGE2_IDLE |
CHAGE2_WALK |
CHAGE2_DASH |
CHAGE2_JUMP |
CHAGE2_DROP |
LADDER_UP |
LADDER_DOWN |
New WALL_DROP |
평 가 |
.난이도 : 보통 별 점 : ★★★☆☆ 한 마디: 플레이어의 상태가 많아서 조절하기가 조금 난해 했다. |
<Progress List> |
- Key Control |
- Box CollisionCheck |
- Camera Scroll |
- Player Resource Work |
- Player OutPut & Animation |
- New Wall_Drop - <Complete> |
<Complete List> |
- Gravity Jump |
- MouseDrag Box Create |
- RayCast |
- File Input And Output |
- BackGround Output |
- Player Output |
- Bullet Output |
- Scroll Map Box |
- Player OutPut & Animation |
- Slope Move |
- Ladder |
- New Wall_Drop |
'cocos2D > 2D Project' 카테고리의 다른 글
[Cocos2d-x] Day 11 - Enemy CollisionCheck & Effect (1) | 2016.06.15 |
---|---|
[Cocos2d-x] Day 10 - Enemy & Enemy_Effect (0) | 2016.06.14 |
[Cocos2d-x] Day 8 - Ladder (0) | 2016.06.13 |
[Cocos2d-x] Day 7 - Slope Move (0) | 2016.06.13 |
[Cocos2d-x] Day 6 - Resource Work & Bullet Class, Manager Create (0) | 2016.06.12 |