안녕하세요, 고도로 이것저것 시작해보고 있습니다.
유투브 무작정 따라하던 중 수박게임류를 제작하고 있는데요 아래 사례처럼 터치만으로 떨어뜨리고자 하는 위치에 터치하면
오브젝트가 수평이동 후 낙하하는 것을 어떻게 구현하면 될까요?
따라하고 있는 유툽은 키보드 A, D로 좌우 이동이며 관련 스크립트라서 이걸 마우스(터치)로 변경하려면 어디를 건드려야 할 지 모르겠네요.
(현재) A, D키로 떨어뜨리고자 하는 방향으로 이동 -> 터치 -> 낙하
(변경) 떨어뜨리고자 하는 위치에 터치 -> 해당 방향으로 수평이동 -> 낙하 (터치 한번으로)
어디를 수정, 추가해야할지 도와주세요...
따라하다보니, player스크립트는 a,d키로 좌우로 이동하는 것, main스크립트는 매쉬가 바뀌는 오브젝트들을 플레이어(위치)에 넣고 마우스클릭(터치 시) drop시키는 스크립트인데요, 좌우로 이동하기 위해 어느 지점을 터치하면 수평이동과 drop을 한번에 해야할 거 같은데, 어느 스크립트를 수정하면 될지 모르겠습니다.
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT: if event.is_pressed(): elif not event.is_pressed(): get_global_mouse_position() is_dragging
목표위치가 있어야 이동하는 방식으로 접근하면 되지 않을까요 이동객체에서는 목표위치값과 목표위치를 가지고 있는지 판별하는 변수를 만들어 놓고, _process에서 매 프레임마다 목표위치를 가지고 있는지 체크를 해서 목표위치가 있는 것으로 판별이 되면 이동하는 식으로요 - 이동객체는 매 프레임마다 목표위치가 설정되어 있는지 체크 1. 이동할곳 터치 2. 이동객체에 목표위치값 설정후 목표위치를 가지고 있는것으로 처리 3. 이동객체 이동하고 위치값이 지정한 값이 되었거나 일정거리 이하면 이동 완료 처리 4. 위치 이동 완료 후 낙하 신호 대기
근데 이렇게 터치로만 조작되게끔 처리하면 위치를 잘못 터치 했을때도 생각을 해보는게 좋겠네요. 낙하는 버튼으로 처리한다던지 아니면 화면을 터치시 위치 지정구역, 터치시 낙하 처리하는 구역으로 나눠서 처리한다던지요