심화함수
배우기
undefined undefined
심화함수

로봇이 동시에 이동과 회전을 할 수 있는 함수를 설명하겠습니다.

this.setTurnLeft(각도) - 로봇이 이동할 때 로봇을 각도만큼 왼쪽으로 회전한다.
this.setTurnRight(각도) - 로봇이 이동할 때 로봇을 각도만큼 오른쪽으로 회전한다.
this.setTurnTurretLeft(각도) - 로봇이 이동할 때 포탑을 각도만큼 왼쪽으로 회전한다.
this.setTurnTurretRight(각도) - 로봇이 이동할 때 포탑을 각도만큼 오른쪽으로 회전한다.
this.setTurnRadarLeft(각도) - 로봇이 이동할 때 레이더를 각도만큼 왼쪽으로 회전한다.
this.setTurnRadarRight(각도) - 로봇이 이동할 때 레이더를 각도만큼 오른쪽으로 회전한다.

이 함수들은 set함수라고 부를것이며, 로봇의 이동함수 this.moveForwards 와 this.moveBackwards 함수 전에 사용하여, 이동함수가 실행할때 이동함수와 동시에 실행합니다.

예를 들어

prototype.onIdle = function() {
  this.setTurnLeft(45);

  this.moveForwards(100);
}

와 같이 대기중일때 함수를 구성한다면, 로봇은 대기중일때 왼쪽으로 꺽으면서 이동하는 곡선운동을 하게됩니다.

주의할 점은 로봇이 100을 움직이는동안 45도 회전이 끝나면 100중에 남은거리는 직선운동을 하게된다는 것입니다.

만약 이동함수가 끝났는데 set함수가 끝나지 않았더라도, 이동함수가 끝나면 그 이동함수전에 사용한 set함수들도 모두 종료됩니다.

예를 들어서 


prototype.onIdle = function() {
  this.setTurnLeft(360);

  this.moveForwards(10);
}

와 같이 함수를 구성한다면, 앞으로 10을 이동하는 중에 360도를 회전하라고 했지만, 최대회전속도로 인해 10이동중에 360도를 회전할 수 없습니다. 이럴 때 이동이 끝나면 남은 회전을 하는것이 아니라 회전함수도 끝나게됩니다.

실습 내용

로봇이 동시에 이동과 회전을 할 수 있는 함수를 설명하겠습니다.

this.setTurnLeft(각도) - 로봇이 이동할 때 로봇을 각도만큼 왼쪽으로 회전한다.
this.setTurnRight(각도) - 로봇이 이동할 때 로봇을 각도만큼 오른쪽으로 회전한다.
this.setTurnTurretLeft(각도) - 로봇이 이동할 때 포탑을 각도만큼 왼쪽으로 회전한다.
this.setTurnTurretRight(각도) - 로봇이 이동할 때 포탑을 각도만큼 오른쪽으로 회전한다.
this.setTurnRadarLeft(각도) - 로봇이 이동할 때 레이더를 각도만큼 왼쪽으로 회전한다.
this.setTurnRadarRight(각도) - 로봇이 이동할 때 레이더를 각도만큼 오른쪽으로 회전한다.

이 함수들은 set함수라고 부를것이며, 로봇의 이동함수 this.moveForwards 와 this.moveBackwards 함수 전에 사용하여, 이동함수가 실행할때 이동함수와 동시에 실행합니다.

예를 들어

prototype.onIdle = function() {
  this.setTurnLeft(45);

  this.moveForwards(100);
}

와 같이 대기중일때 함수를 구성한다면, 로봇은 대기중일때 왼쪽으로 꺽으면서 이동하는 곡선운동을 하게됩니다.

주의할 점은 로봇이 100을 움직이는동안 45도 회전이 끝나면 100중에 남은거리는 직선운동을 하게된다는 것입니다.

만약 이동함수가 끝났는데 set함수가 끝나지 않았더라도, 이동함수가 끝나면 그 이동함수전에 사용한 set함수들도 모두 종료됩니다.

예를 들어서 


prototype.onIdle = function() {
  this.setTurnLeft(360);

  this.moveForwards(10);
}

와 같이 함수를 구성한다면, 앞으로 10을 이동하는 중에 360도를 회전하라고 했지만, 최대회전속도로 인해 10이동중에 360도를 회전할 수 없습니다. 이럴 때 이동이 끝나면 남은 회전을 하는것이 아니라 회전함수도 끝나게됩니다.

질문하기
추가 자료
no files uploaded

추가 자료가 없습니다

여기서 새로운 학습 자료를 확인하세요!
선생님이 추가한 자료들을 바로 확인할 수 있어요.