void GameScene::onTouchMoved(Touch* touch, Event* unused_event)
{
Vec2 location = touch->getLocation();
flightMove(location);
}
void GameScene::flightMove(Vec2 location) {
if
(beganTouchVec2 != location) {
Vec2 v2 = location -
beganTouchVec2;
flight->setPosition(flight->getPosition()+ v2);
}
beganTouchVec2 = location;
}
이전 위치가 아니라 터치가 움직였다면 포지션을 바꿔주는 방법이었는데
요 moved 함수에 잘 못 넣었다가 크게 당했다.
조금만 생각해보면 flight객체가 지워지는 순간 애러가 발생하는 것을 ..
flight 객체가 지워지면 내가 작성했던 코드에서는 Gavaover 이미지가 띄워지고 모든 스케쥴이 중단된다. 리스너를 해체해줄까 이런 생각도 들었지만 조금 더 내 귀잖음이 나를 생각의 길로 이끌었다.
한참 고민하다가 Unity에서 하던 방식이 생각났다.
좋았어
update 스케쥴을 선언하여
void GameScene::update(float delta) {
flightMove(onTouchMovedV2);
}
이렇게 바꾸었다. 물론 .. onTouchMovedV2 저기 위에 있는 location Vec2 값이다.
중요한건 이 에러를 검사 당일날 봤다는 것 ..
고치지 못했다 후 .. 그래도 내 학점과 바꿔서 답을 찾아 냈다 !
우린 답을 찾을 것이다. 늘 그랬듯이
-인터스텔라-
누가 내 머리도 update 해주면 안되냐