< Return to Video

Modifying Arrays (Video Version)

  • 0:00 - 0:04
    배열을 생성하고 접근하는 방법에 대해 지금까지 배웠어요
  • 0:04 - 0:09
    배열의 좋은 점은 프로그램이 실행되는 동안
  • 0:09 - 0:13
    일반적인 변수처럼 동적으로 값을 변경할 수 있다는거에요
  • 0:13 - 0:16
    좋아요
    무슨 말인지 직접 보여드릴게요
  • 0:16 - 0:21
    호퍼(캐릭터)가 풍선을 들고 있어요
    귀엽네요
  • 0:21 - 0:29
    풍선 두개에 각각 x좌표값을 넣었어요
  • 0:29 - 0:35
    그리고나서 루프(반복문)를 통해 배열의 원소들을 모두 읽어요
  • 0:35 - 0:40
    xPosision 배열에 두 개의 값을 가지고 있는데
    두 개의 풍선의 위치입니다
  • 0:40 - 0:48
    그 후 "x"위치에 30x40에 해당하는 크기의 동그라미(풍선)을 그려요
  • 0:48 - 0:51
    좋아요
    이제 어떻게 작동하는지 볼거에요
  • 0:51 - 0:58
    풍선을 추가하고싶으면 배열에 숫자를 추가하기만 하면 돼요
    300을 넣어 볼까요
  • 0:58 - 1:03
    아름다워요
    호퍼는 풍선을 3개나 갖고 있어 기분좋아하네요
  • 1:03 - 1:11
    그런데 풍선을 새로 추가하기 위해 코딩을 할 줄 모르는
    사용자에게 그 방법을 말해주려고 해요
  • 1:11 - 1:18
    사용자에게 프로그램을 제공하고
    "원하는 위치에 클릭하면 풍선이 표시됩니다" 라고 말하고싶어요
  • 1:18 - 1:21
    굉장히 멋질거같아요
  • 1:21 - 1:26
    이제 어떻게 해야하죠?
    프로그램이 시간 흐름에 따라 변해야겠죠?
  • 1:26 - 1:30
    사용자가 클릭할 때마다 풍선이 나타날거에요
  • 1:30 - 1:38
    시간에 따라 변할 수 있게 draw 함수를 사용할게요
  • 1:38 - 1:43
    전부 draw 함수 내부로 넣을게요. 좋아요
  • 1:43 - 1:48
    먼저 사용자가 마우스를 누르면 즉시 알아야해요
  • 1:48 - 1:55
    if (mouseIsPressed) 를 이용해서 가능하지요
  • 1:55 - 2:01
    그리고 마우스를 누르면 배열에 숫자를 추가시켜야해요
  • 2:01 - 2:04
    항목 두 개를 가지고 다시 해 볼게요
  • 2:04 - 2:10
    이제 배열에 숫자 하나를 추가 하려고 합니다
    그렇게 하는 한 가지 방법을 보여 드릴게요
  • 2:10 - 2:19
    xPositions[2] = mouseX;로 하면 됩니다
  • 2:19 - 2:22
    좋습니다
    작동하는 것을 보여드릴게요
  • 2:22 - 2:27
    클릭하면 풍선이 생겼어요. 짜잔!
    어떻게 한거죠?
  • 2:27 - 2:34
    배열 xPositions 의 2 위치인데
  • 2:34 - 2:38
    배열은 0부터 세니까 세번째 원소라는 것을 알 수 있지요
  • 2:38 - 2:42
    그런데 배열의 세번째 위치에 원소가 없어요
  • 2:42 - 2:46
    xPositions[2]라는 것을 인식하고 나서 mouseX를 대입해요
  • 2:46 - 2:51
    xPositions[2] 위치에 아무것도 없었지만
    이제 mouseX가 입력되었어요
  • 2:51 - 2:55
    이제 배열은 3개의 항목을 가진 길이를 갖고
  • 2:55 - 3:00
    for 루프는 쭈욱 진행해서 세번째 풍선 그리기가 끝나요
  • 3:00 - 3:04
    정말 멋져요
    좀 더 클릭해서 어떻게 되는지를 보도록 합시다
  • 3:04 - 3:11
    클릭할 때마다 세번째 풍선이 그려지는 것을 볼 수 있어요
  • 3:11 - 3:19
    그 이유는 계속 2라는 위치에 오버라이딩(겹쳐쓰기) 하기 때문이에요
  • 3:19 - 3:23
    매번 mouseX로 값이 겹쳐지게 됩니다
  • 3:23 - 3:26
    그래서 풍선은 3개만 가질 수 있어요
  • 3:26 - 3:34
    0 위치에서 하나, 1 위치에서 하나,
    계속 변하는 2 위치에서 하나, 맞죠?
  • 3:34 - 3:40
    멋져요
    하지만 우리는 풍선을 계속 더 많이 만들고 싶은 겁니다
  • 3:40 - 3:44
    사용자가 클릭할 때마다 새로운 풍선이 생기도록요
  • 3:44 - 3:51
    배열의 인덱스를 계속 증가시킬 필요가 있다는 의미에요
  • 3:51 - 3:56
    매번 2 위치에만 저장하는게 아니라
    2, 3, 4, 5, 6, 등의 위치에도 저장하고 싶어요
  • 3:56 - 4:01
    newInd = 2; 라는 카운터 변수를 가지고 할 수 있어요
  • 4:01 - 4:06
    2 대신에 newInd라고 적고 사용할 거에요
  • 4:06 - 4:10
    그리고 난 후 newInd++ 만 해주면 됩니다
  • 4:10 - 4:16
    매번 여기에 1을 증가하게 되면 2에서 시작하고 3, 4 가 됩니다
  • 4:16 - 4:18
    누를 때마다 더해질 거에요
    직접 해보세요
  • 4:18 - 4:22
    짜잔! 풍선이 많아졌어요
    풍선파티에요 와~
  • 4:22 - 4:26
    멋지지요?
    하지만 풍선을 많이 만들려고
  • 4:26 - 4:32
    배열 인덱스를 많이 만드는 것은 최선의 방법은 아니에요
  • 4:32 - 4:35
    더 쉬운 방법이 있어요
  • 4:35 - 4:43
    이전에 했던것을 지우고 주석으로 남길게요
  • 4:43 - 4:51
    자 그리고 xPositions.push(mouseX);을 해봅시다
  • 4:51 - 4:57
    이것의 역할은 xPositions 배열에서 메서드를 호출하는 거에요
  • 4:57 - 5:05
    배열에 다음과 같이 명령하네요
    "mouseX라는 새로운 값을 배열의 끝에 집어넣어"라고 말입니다
  • 5:05 - 5:12
    이제 그 명령이 호출될 때마다, 즉 사용자가 마우스 클릭을 할 때마다
    mouseX를 배열의 끝에 집어넣을 것입니다
  • 5:12 - 5:17
    배열은 커지고 커지고 더 커질거에요
    재시작하고 다시 해보세요
  • 5:17 - 5:23
    짜잔, 작동해요!
    이전보다 짧은 코드로 작동하네요. 맞죠?
  • 5:23 - 5:28
    이렇게 배열에 무엇을 추가하고자 한다면
    대부분 push를 사용해야합니다
  • 5:28 - 5:32
    그리고 꽤 깔끔한 편이에요
    왜냐하면 이 후에 배열이 더 커지고 커져도 문제 없기 때문이죠
  • 5:32 - 5:36
    애니메이션이나 사용자가 일을 할 때
    유용하게 사용될 거에요
  • 5:36 - 5:41
    지금까지 90%는 아마 배열을 기존 방식처럼 사용했겠지만
  • 5:41 - 5:47
    배열을 이용해서 더 많은 일을 할 수 있어요
    질문이 있으면 토론방에서 질문하세요
  • 5:47 - 5:51
    그 전에 오늘 배운 기초내용을 숙지하세요
Title:
Modifying Arrays (Video Version)
Description:

more » « less
Video Language:
English
Duration:
05:51

Korean subtitles

Revisions