WEBVTT 00:00:01.304 --> 00:00:03.685 움직이는 동작 애니메이션을 만들기 위한 3가지 단계를 기억하시나요? 00:00:03.685 --> 00:00:07.129 draw loop 밖에 변수를 선언함으로써 시작합니다. 00:00:07.129 --> 00:00:10.065 그리고 draw loop 안에서 그 변수들을 코드에 사용합니다 00:00:10.065 --> 00:00:12.039 x위치에 대한 변수와 00:00:12.039 --> 00:00:14.395 y위치, ballwidth(공의 너비)위치 00:00:14.395 --> 00:00:16.801 그리고 ballheight(공의 높이)위치에 대한 변수를 각각 가집니다 00:00:16.801 --> 00:00:18.413 코드 마지막에 00:00:18.413 --> 00:00:20.025 매번 루프마다 조금씩 바꾸어줍니다 00:00:20.025 --> 00:00:22.773 x는 이전 변수 x에서 1을 더해주는 것이네요 00:00:22.773 --> 00:00:24.701 그러므로 계속해서 증가할 것입니다 00:00:24.701 --> 00:00:27.796 그리고 y는 이전 변수 y 에서 2를 빼주는 것입니다 00:00:27.796 --> 00:00:29.801 그래서 y는 계속 감소할 것입니다 00:00:29.801 --> 00:00:35.406 ballWidth는 0.99 의 곱으로 변화할 것입니다 00:00:35.410 --> 00:00:39.409 0.99는 1보다 작으므로 ball Width가 작아지는 것을 볼 수 있습니다 00:00:39.409 --> 00:00:42.719 그리고 ball Height는 초기화된 변수 ball Height에서 00:00:42.719 --> 00:00:45.501 1.01로 나누고 이것은 1보다 크므로 00:00:45.501 --> 00:00:48.353 ball Height가 감소하는것을 볼 수있습니다 00:00:48.353 --> 00:00:50.094 그래서 Restart 를 누르면 00:00:50.094 --> 00:00:53.825 공의 속성들이 변하는 것을 볼 수 있습니다 00:00:53.825 --> 00:00:56.607 그러므로 이러한 4개의 줄 코드를 보면 00:00:56.607 --> 00:00:59.251 비슷한 패턴을 따른다는 것을 알 수 있는데요 00:00:59.251 --> 00:01:02.410 여기서 변수를 가졌고 = 기호를 가졌습니다 00:01:02.410 --> 00:01:06.567 그리고 같은 변수와 연산기호 (더하기 빼기 곱하기 나누기)를 가졌고 00:01:06.567 --> 00:01:08.853 그리고 어떤 특정한 수를 가졌습니다 00:01:08.853 --> 00:01:11.952 이러한 패턴은 프로그래밍에서 아주 흔합니다 00:01:11.952 --> 00:01:14.640 프로그래머들은 너무 게으르기 때문에 00:01:14.640 --> 00:01:16.947 '이봐 이런 패턴을 너무 많이 사용하잖아' 00:01:16.947 --> 00:01:19.054 '쉽고 간단한 방법이 없을까?' 00:01:19.054 --> 00:01:22.006 그래서 짧게 만들었고 이에 대해 설명해 드리도록 하겠습니다 00:01:22.006 --> 00:01:24.528 x = x+1 이라는 것 대신에 00:01:24.528 --> 00:01:29.331 x += 1이라고 표현합니다 이해되시나요? 00:01:29.331 --> 00:01:36.690 그리고 y= y-2 대신에 y-=2 라고 표현합니다 00:01:36.690 --> 00:01:41.539 그리고 ballwidth = ballwidth*0.99 대신에 00:01:41.539 --> 00:01:48.236 예상하셨겠지만 ballwidth*=0.99로 합니다 00:01:48.236 --> 00:01:49.572 마지막으로 00:01:49.572 --> 00:01:53.658 ballheight = ballheight/1.01 대신에 00:01:53.658 --> 00:01:57.373 ballheight /= 1.01 라고 사용합니다 00:01:57.373 --> 00:01:59.468 이러한 모든 수식들은 어떤수식이던지 간에 00:01:59.468 --> 00:02:02.313 이 앞의 변수가 변화하는 변수의 가치를 가집니다 00:02:02.313 --> 00:02:04.123 그러므로 ballwidth는 00:02:04.123 --> 00:02:06.344 0.99를 곱하는 형태가 됩니다. 00:02:06.344 --> 00:02:09.240 그러므로 ballwidth 곱하기 0.99 가 되고 00:02:09.240 --> 00:02:12.067 이는 다시 변수 ballwidth에 저장됩니다 00:02:12.067 --> 00:02:13.864 그리고 다시 Restart를 누르면 00:02:13.864 --> 00:02:16.005 보다시피 움직이는 동작은 이전과 같은 형태로 나타나게 되지요 00:02:16.005 --> 00:02:17.975 여러분도 게을러지게 되겠는데요?