|
|
Script 11강(변수와 데이터와의 관계)
1. 지난 시간에 gotoAndPlay, gotoAndStop과 play, stop는 같다 는
것을 배웠어요
2. var(바)이라는 스크립트가 있다 Var은 Variable(베리에이블 의 약
자이다) 한국말로는 변수이다 var=변수이며 변수는 수시로 변하는
것이다 예 a라는 변수를 하나 만들고 =10, 이라고 만들었어요
a=10, 그러면 a=10,을 a=20으로 주면 값이 20으로 변한다 그러니
까 a라고 하는 값이 10을 넣으면 10,이되고 20,을 넣으면 a가 20,
이 되는 거예요, 그러니까 넣는 것에 따라서 a의값이 변하지요?
10,또는 20, 이 부분을 데이터 라고하고 a 부분은 변수라고 해요
3. 그러면 변수는 어떻게 만드는지 스크립트창을 들어가서 한번 보겠
어요 이변수를 하기전에 먼저 생각해야 될 것은 스위시는 프레임
구조로 돼 있어요 변수를 하기전에 프레임을 먼저 선택하고 1프레
임을 선택하고 Add script→Events→Frame→onFrame(...) 클릭하
고 프레임수에 1 이 나오죠 그것은 1프레임을 선택 했기 때문이예
요 (1)프레임끝에 커서놓고 엔타치고 var 라고 입력하고 위 창의
name에 a라고 입력하고 type(타입)은 아직 정하지 않았지요?
balue(벨유)에 값을 10, 이라고 입력을 합니다 그리고 엔타를 칩니
다 그러면 아래와 같이 나옵니다
onFrame (1) {
var a = 10
}
4. var는 변수죠? a라고 하는 변수에 값은 10, 이다, 라고 나옵니다
그러면 이번에는 10을 안넣고 a ; 만 넣었 보겠어요 그러니까 var
는 a 다, 그러니까 = 해서 무엇을 집어 넣지를 않은 거예요 왜야
하면 변수라고 하는 것은 데이터에 의해서 값이 변경 된다고 그랬
지요 그런데 지금 데이터를 넣지 않았어요
onFrame (1) {
var a ;
}
5. 이것을 test in player(테스트 인 플레이)를 해서 보았더니 값이 나
오질 않아요, 현재 이것을 표현 해라 하는 내용이 전혀 없습니다 그
러면 엔타치고 아래줄에 trace(트레이스)입력, 여기서 trace 라고
하는 명령이 있어요 trace(트레이스)는 프린트 ,나타내라 또는 보여
주어라 하는 명령 이예요 그다음에 (가로 열고 a입력하고 )가로 닫
고 :세미콜론을 꼭 해줘야 해요, 이렇게하고
6. test in player(테스트 인 플레이)를 해서 보았더니 값이 나오질 않
아요, 그러면 스위시 자체의 플레이 ▶를 클릭 하세요 그래도 안되
면 Window→Debug(디버그)를 클릭 하세요 그랬더니 디버그창에
undefined(언디화인드)라고 나옵니다, undefined(언디화인드)라고
하는 것은 값이 없다는 뜻입니다 그러면 창을 닫고요 그래서 var
에 a=10; 이렇게 입력을 보죠 그러고 플레이를 해 보니까 10,이 나
옵니다 그러니까 a라는 값은 10,이다 라는 거예요
onFrame (1) {
var a=10;
trace(a);
}
7. var a=10;를 30으로 고쳐서 플레이 해 보면 30,이라고 하는 숫자
가 나오죠? 30, 40, 등등 고쳐서 한번 해 보세요,
8. 그러면 여러분들이 이것을 봤을 때 이게 숫자라는 것을 알수가 있
지요? 그래서 이런 것을 숫자형 변수라고 해요, 그리고 ( //)슬레시
를 두 개하면 주석으로 바뀌는데 주석은 스크립트에 나오질 않아요
onFrame (1) { //에 엔타치고 var입력 하면 위창에서 name에 a쓰고 value에 10을 써도 되
고 그냥 스크립트창에 입력해도된다
var a=10; //var은 변수이고 a는 데이터 이고 10값이다
}
9. 스위스는 프레임 구조로 돼 있다. 데이터에 의해서 값이 변경된다
10 . trace(트레이스)는 나타내라 보여 주어라 하는 명령어예요
var a = 10;끝에엔타치고 trace(a); 입력 하고
onFrame (1) {
var a = 10; //두 번하면 주석으로된다 여기서 10은 number,숫자형 변수
trace(a); //trace(트레이스)는 나타내라
}
11. window→Debug클릭하면 a 값이나온다 미리보기하면 보여지지
않는다. Debug창에서만 볼 수 있다
12.이번에는 var a=10;을 30으로 고치고 trace(a);끝에 엔타치고
var b="gs1236"이렇게 입력을 하지요 그러면 이게 무슨 뜻이냐 하
면 (" "겹따옴표) 겹따옴표를 붙이고 안에다 넣는 것은 즉" "겹따옴
표가 들어간 변수는 문자형 변수라한다 엔타치고 나타내야 겠지
요? 그래서 trace(b); 입력 하세요 그리고 플레이를 해봤더니 위의
a 값은 30, 아래는 gs1236으로 나왔지요? 그런데 타입이 무슨 타
입인지를 모르겠어요 숫자형인지 문자형인지를 모르겠지요?
onFrame (1) {
var a=30; //숫자형 변수
trace(a);
var b="gs1236"; //문자형 변수
trace(b);
}
13 그러면 trace(a);끝에 엔타치고 trace(typeof a); 는 a변수가
typeof(타입옵후)무슨형 변수이냐.는 것이예요 그리고 플레이를 해
봤더니 위는 a값 30 이나오고 그 아래 number 라고 나온다.
number 는 숫자형 변수이다
14. 그러면 이번에는 var b="gs1236"; 끝에커서놓고 엔타치고
trace(typeof b);입력 이것은 b변수는 무슨 형이냐 하는것인데, 플
레이를 해 보니까 위의 a값은 30, number (넘버), b의 값은
gs1236, string (스트링)이다, string(스트링)이라고 나오는데
string(스트링)문자형 변수라 한다,
15. 이렇게 변수는 데이터에 의해서 숫자형, 문자형 변수가 나타난다.
그래서 30 이라고 하는 숫자형 변수를 만들수 있고 gs1236 이라고
하는 문자형 변수를 만들수가 있는데 그러니까 a는 변수이고 10은
데이터가 됩니다 b는 변수, 뒤에있는 gs1236 은 데이터 라고 해요
그래서 변수는 데이터에 의해서 숫자형 변수냐 문자형 변수냐를 이
렇게 나타냅니다
onFrame (1) {
var a=30;
trace(a);
trace(typeof a) //a가 무슨형인지 나타내라
var b="gs1236";
trace(b);
trace(typeof b); //b가 무슨형인지 나타내라
}
16. 또 이런 것이있습니다, trace(typeof b); 끝에 커서놓고 엔타치고
var c=true; 라고 입력 합니다 true(트루)의 반대말은 false(훨스),
인데 true는 예를들어 등호로 해서 a는 10보다 크면 참이다 그다음
에 10작으면 b다 이런내용이 나와요 그러니까 10보다 작으면 false
다 그러니까 거짓이다 하는 내용이 나와요, true(트루)와 false(훨
스)에 관계 되는건데 이것을 불리언 데이터 라고 해요, 엔타치고
trace(c); 입력하고 한번 플레이 해 보죠 그랬더니 30,number,
gs1236,string,true 이렇게 나왔지요 타입이 없지요 우리가 타입을
안 넣었기 때문 이예요 이것을 엔타치고 trace(typeof c); 입력하고
플레이를 해봤더니 30,number,gs1236,string,true,boolean(불리언)
이라고 나오는데 boolean(불리언)은 boolean(불리언) 데이터 라는 뜻
이예요 boolean(불리언)변수는 나중에 공부 하면서 할 것이고, 어떠
든 간에 변수는 데이터에 의해서 이 변수의 종류가 바뀐다는 것을
여러분들은 기억하시면 되겠어요 그래서 우리가 trace(트레이스)를
가지고 지금 여기에 나와있는 내용을 보여줬습니다
onFrame (1) {
var a=30; //숫자형 변수
trace(a);
trace(typeof a)
var b="gs1236"; //문자형 변수
trace(b);
trace(typeof b);
var c=true; //boolean(불리언) 변수
trace(c);
trace(typeof c);
}
17. 그럼 아래 불록된 부분을 삭제하고 trace(a+20); 이라고 입력하
고
onFrame (1) {
var a=30; //숫자형 변수
trace(a);
trace(typeof a)
var b="gs1236"; //문자형 변수
trace(b);
trace(typeof b);
var c=true; //boolean(불리언) 변수
trace(c);
trace(typeof c);
}
18. trace(a+20); 이라고 입력하고 플레이를 해보면 50 이라고 나오
는데 다시 trace(a+20); 이부분을 잘라내고
onFrame (1) {
var a=30;
trace(a+20);
}
19. 다시 20프레임을 선택하고 Add script→Events→Frame→
onFrame(...) 하면 프레임수가 20 이라고 나오죠? 엔타치고
잘라놓은 trace(a+20);을 붙여넣기 합니다
onFrame (1) {
var a=30; //숫자형변수 1번프레임에 변수값을주고 결과치는 20프레임에서 나타내라
}
onFrame (20) {
trace(a+20); // 위의 30에 20프레임에서 a에다 20을 더한값을 표시하라
}
20. 이렇게하고 플레이를 했더니 1프레임에서 진행하다가 20프레임
에 가서 결과값이 나옵니다, 1프레임에서 var 변수를 30 이라고 하
는 것을 넣었어요, 그럼 20프레임에서 a에다 20을 더한 값을 표시
를 해라 하는 내용이 됩니다 그러니까 1프레임의 30 이 쭉가다가
20프레임에서 거기에다 20을 더한 값이 나오는 거예요 그래서 20
프레임을 지날때 마다 50 이 나오는 거예요 너무 빠르면 프레임수
20을 50으로 고치거나 아니면 Frame rate를 줄여도 되지요 플레
이 해 보면 조금 느리지요
21. 1프레임에서는 변수값만 지정해 줬고 20프레임 에서는 변수에
있는 값에다 20을 더한 값을 나타내라 하는 명령이 나오고 그 다음
에 그 결과치를 보여 달라고 했어요, 그래서 1번프레임에서 20번
프레임까지를 일종의 변수의 영역 이라고도 합니다 앞으로 우리가
변수를 공부를 하다보면 숫자형 변수도 있고, 문자형 변수도 있고,
불린이라고 하는 변수 도있고 여러가지가 있어요 그런데 중요한 것
은 변수가 중요한게 아니고 그 변수의 형태는 데이타에 의해서 바
뀌는 거지요, 그러면 이걸 한번 생각을 하셔야 돼요 그러면 변수는
전부다 a라고만 써야되느냐? 그렇지는 않지요
22. 그래서 변수를 만드는 조건 몇가지를 설명 드리도록 하겠어요 변
수로 사용할 수 있는 것은 알파벳 대,소문자 A~Z 까지와 a~z 까
지 쓸수 있고 또 숫자 1~9, 까지 쓸수 있는데 한가지 중요한 것은
A~Z와 a~z가 틀려요 다시 말하면 대,소,문자가 구분이 됩니다 그
러면 길이는 얼마까지 할 수가 있느냐 하면 255자 까지 길게 쓸수
있으나 그렇게 많이 쓰는 사람은 제가 볼때는 하나도 없을 것 같아
요 그래서 그렇게만 아시고
23. 그 다음에 변수로서 사용할 수 있는 것은 변수의 첫 번째 글자에
숫자는 안되고 중간에 쓰면됨 예를들어 1ab 이건 안되고 a하고 한
칸띄고 1 이것도 안돼요 스페이스바를 눌러 띄면 안됩니다
24. 그러면 A~Z,또 a~z하고 1~9 인데 변수로서 사용가능한 것은 시
프트키를 누르고 마이너스를 누르면 언더바 라는게 나오는데 이 언
더바를 변수에서는 사용할수 있습니다 a라고 했을때 _a라고 하는
것은 돼요 그러면 _1은 어떠냐 그러면 이것도 변수가 된다 왜 되느
냐하면 _(언더바)는 숫자가 아니고 문자가 됩니다 그러니까 문자
가 앞에 있으니까 1 이라고 하는것이 결과적으로 변수로 이용이 됩
니다
25. 그래서 변수가 안되는것은 숫자가 앞에 들어가는것 그 다음에 중
간에 스페이스바가 들어가는 것은 안됩니다, 그러니까 변수를 만
드는 규칙이 여러 가지가 있는데 어떻든 간에 영어의 알파벳 대,소,
문자 다 돼요 그리고 대소문자 즉 A와 a는 서로 틀리다 대문자 A를
써야하는데 소문자 a로 쓰면 안된다 대,소,문자를 구분 하기 때문
에 그렇습니다 이렇게 해서 변수에 대해서 대략만 설명 드렸어요

첫댓글 감사합니다 선생님 ㅎㅎ 수고하신 자료 소중히 잘 쓰겠습니다~~~꾸벅
잘 배웠습니다.
자료 강좌 감사합니다.......
귀중한 자료 소중한 맘으로 잘 배워보겠습니다.
잘 배우겠습니다
감사합니다. 소중하게 모셔갑니다
감사합니다.