1 00:00:01,304 --> 00:00:03,685 움직이는 동작 애니메이션을 만들기 위한 3가지 단계를 기억하시나요? 2 00:00:03,685 --> 00:00:07,129 draw loop 밖에 변수를 선언함으로써 시작합니다. 3 00:00:07,129 --> 00:00:10,065 그리고 draw loop 안에서 그 변수들을 코드에 사용합니다 4 00:00:10,065 --> 00:00:12,039 x위치에 대한 변수와 5 00:00:12,039 --> 00:00:14,395 y위치, ballwidth(공의 너비)위치 6 00:00:14,395 --> 00:00:16,801 그리고 ballheight(공의 높이)위치에 대한 변수를 각각 가집니다 7 00:00:16,801 --> 00:00:18,413 코드 마지막에 8 00:00:18,413 --> 00:00:20,025 매번 루프마다 조금씩 바꾸어줍니다 9 00:00:20,025 --> 00:00:22,773 x는 이전 변수 x에서 1을 더해주는 것이네요 10 00:00:22,773 --> 00:00:24,701 그러므로 계속해서 증가할 것입니다 11 00:00:24,701 --> 00:00:27,796 그리고 y는 이전 변수 y 에서 2를 빼주는 것입니다 12 00:00:27,796 --> 00:00:29,801 그래서 y는 계속 감소할 것입니다 13 00:00:29,801 --> 00:00:35,406 ballWidth는 0.99 의 곱으로 변화할 것입니다 14 00:00:35,410 --> 00:00:39,409 0.99는 1보다 작으므로 ball Width가 작아지는 것을 볼 수 있습니다 15 00:00:39,409 --> 00:00:42,719 그리고 ball Height는 초기화된 변수 ball Height에서 16 00:00:42,719 --> 00:00:45,501 1.01로 나누고 이것은 1보다 크므로 17 00:00:45,501 --> 00:00:48,353 ball Height가 감소하는것을 볼 수있습니다 18 00:00:48,353 --> 00:00:50,094 그래서 Restart 를 누르면 19 00:00:50,094 --> 00:00:53,825 공의 속성들이 변하는 것을 볼 수 있습니다 20 00:00:53,825 --> 00:00:56,607 그러므로 이러한 4개의 줄 코드를 보면 21 00:00:56,607 --> 00:00:59,251 비슷한 패턴을 따른다는 것을 알 수 있는데요 22 00:00:59,251 --> 00:01:02,410 여기서 변수를 가졌고 = 기호를 가졌습니다 23 00:01:02,410 --> 00:01:06,567 그리고 같은 변수와 연산기호 (더하기 빼기 곱하기 나누기)를 가졌고 24 00:01:06,567 --> 00:01:08,853 그리고 어떤 특정한 수를 가졌습니다 25 00:01:08,853 --> 00:01:11,952 이러한 패턴은 프로그래밍에서 아주 흔합니다 26 00:01:11,952 --> 00:01:14,640 프로그래머들은 너무 게으르기 때문에 27 00:01:14,640 --> 00:01:16,947 '이봐 이런 패턴을 너무 많이 사용하잖아' 28 00:01:16,947 --> 00:01:19,054 '쉽고 간단한 방법이 없을까?' 29 00:01:19,054 --> 00:01:22,006 그래서 짧게 만들었고 이에 대해 설명해 드리도록 하겠습니다 30 00:01:22,006 --> 00:01:24,528 x = x+1 이라는 것 대신에 31 00:01:24,528 --> 00:01:29,331 x += 1이라고 표현합니다 이해되시나요? 32 00:01:29,331 --> 00:01:36,690 그리고 y= y-2 대신에 y-=2 라고 표현합니다 33 00:01:36,690 --> 00:01:41,539 그리고 ballwidth = ballwidth*0.99 대신에 34 00:01:41,539 --> 00:01:48,236 예상하셨겠지만 ballwidth*=0.99로 합니다 35 00:01:48,236 --> 00:01:49,572 마지막으로 36 00:01:49,572 --> 00:01:53,658 ballheight = ballheight/1.01 대신에 37 00:01:53,658 --> 00:01:57,373 ballheight /= 1.01 라고 사용합니다 38 00:01:57,373 --> 00:01:59,468 이러한 모든 수식들은 어떤수식이던지 간에 39 00:01:59,468 --> 00:02:02,313 이 앞의 변수가 변화하는 변수의 가치를 가집니다 40 00:02:02,313 --> 00:02:04,123 그러므로 ballwidth는 41 00:02:04,123 --> 00:02:06,344 0.99를 곱하는 형태가 됩니다. 42 00:02:06,344 --> 00:02:09,240 그러므로 ballwidth 곱하기 0.99 가 되고 43 00:02:09,240 --> 00:02:12,067 이는 다시 변수 ballwidth에 저장됩니다 44 00:02:12,067 --> 00:02:13,864 그리고 다시 Restart를 누르면 45 00:02:13,864 --> 00:02:16,005 보다시피 움직이는 동작은 이전과 같은 형태로 나타나게 되지요 46 00:02:16,005 --> 00:02:17,975 여러분도 게을러지게 되겠는데요?