움직이는 동작 애니메이션을 만들기 위한
3가지 단계를 기억하시나요?
draw loop 밖에 변수를 선언함으로써 시작합니다.
그리고 draw loop 안에서
그 변수들을 코드에 사용합니다
x위치에 대한 변수와
y위치, ballwidth(공의 너비)위치
그리고 ballheight(공의 높이)위치에 대한
변수를 각각 가집니다
코드 마지막에
매번 루프마다 조금씩 바꾸어줍니다
x는 이전 변수 x에서 1을 더해주는 것이네요
그러므로 계속해서 증가할 것입니다
그리고 y는 이전 변수 y 에서 2를 빼주는 것입니다
그래서 y는 계속 감소할 것입니다
ballWidth는 0.99 의 곱으로 변화할 것입니다
0.99는 1보다 작으므로
ball Width가 작아지는 것을 볼 수 있습니다
그리고 ball Height는 초기화된 변수 ball Height에서
1.01로 나누고 이것은 1보다 크므로
ball Height가 감소하는것을 볼 수있습니다
그래서 Restart 를 누르면
공의 속성들이 변하는 것을 볼 수 있습니다
그러므로 이러한 4개의 줄 코드를 보면
비슷한 패턴을 따른다는 것을 알 수 있는데요
여기서 변수를 가졌고 = 기호를 가졌습니다
그리고 같은 변수와 연산기호
(더하기 빼기 곱하기 나누기)를 가졌고
그리고 어떤 특정한 수를 가졌습니다
이러한 패턴은 프로그래밍에서 아주 흔합니다
프로그래머들은 너무 게으르기 때문에
'이봐 이런 패턴을 너무 많이 사용하잖아'
'쉽고 간단한 방법이 없을까?'
그래서 짧게 만들었고 이에 대해
설명해 드리도록 하겠습니다
x = x+1 이라는 것 대신에
x += 1이라고 표현합니다 이해되시나요?
그리고 y= y-2 대신에 y-=2 라고 표현합니다
그리고 ballwidth = ballwidth*0.99 대신에
예상하셨겠지만 ballwidth*=0.99로 합니다
마지막으로
ballheight = ballheight/1.01 대신에
ballheight /= 1.01 라고 사용합니다
이러한 모든 수식들은 어떤수식이던지 간에
이 앞의 변수가 변화하는 변수의 가치를 가집니다
그러므로 ballwidth는
0.99를 곱하는 형태가 됩니다.
그러므로 ballwidth 곱하기 0.99 가 되고
이는 다시 변수 ballwidth에 저장됩니다
그리고 다시 Restart를 누르면
보다시피 움직이는 동작은
이전과 같은 형태로 나타나게 되지요
여러분도 게을러지게 되겠는데요?