③ 산수 연산 프로그램 만들기
num1 = random(10);
num2 = random(10);
point = 0;
no1 = 0;
no2 = 0;
pNum = 0;
perNum = 0;
btn.onRelease = function(){
sum = num1 - num2;
if(sum == num3){
//정답
point = point + 100;
no1 = no1 + 1;
} else{
//오답
point = point - 100;
no2 = no2 + 1;
}
pNum = pNum + 1;
perNum = int(no1 / pNum * 100) + "%";
num1 = random(10);
num2 = random(10);
}
num2 = random(10);
point = 0;
no1 = 0;
no2 = 0;
pNum = 0;
perNum = 0;
btn.onRelease = function(){
sum = num1 - num2;
if(sum == num3){
//정답
point = point + 100;
no1 = no1 + 1;
} else{
//오답
point = point - 100;
no2 = no2 + 1;
}
pNum = pNum + 1;
perNum = int(no1 / pNum * 100) + "%";
num1 = random(10);
num2 = random(10);
}
위 스크립트에서 else라는 단어가 나옵니다. else란 “그렇지 않으면”이란 뜻으로 if문과 함께 쓰입니다. 그럼 종합해볼까요?
“~하면 ~하고, 그렇지 않으면 ~하시오”라는 형태의 조건문을 작성할 수 있겠죠?
“~하면 ~하고, 그렇지 않으면 ~하시오”라는 형태의 조건문을 작성할 수 있겠죠?
if(조건식){
액션1;
}else{
액션2;
}
액션1;
}else{
액션2;
}
if문은 간단해 보이지만 플래시에서 굉장히 많이 쓰이며 아주 중요한 부분입니다. if문이 여러 개로 복잡하게 사용될 경우 헷갈릴 수 있으니 많이 연습하여 눈에 익숙하도록 해야 합니다.
※ 그럼 앞에서 배운 내용을 활용하여 공이 벽을 맞고 튀어나오는 플래시를 만들어보세요.
<완성>
※ 그럼 앞에서 배운 내용을 활용하여 공이 벽을 맞고 튀어나오는 플래시를 만들어보세요.
<완성>
// 속도설정
xspeed = 10;
yspeed = 10;
// 경계점설정
xPos1 = red._width/2;
xPos2 = 550 - (red._width/2);
yPos1 = red._height/2;
yPos2 = 400 - (red._height/2); <- 위치 지정
/*경계점 내에 있도록 위치 이동
if(red._x < xPos1 || red._x > xPos2){
red._x = xPos1;
}*/
// 매프레임마다 할일 정하기
red.onEnterFrame = function(){
// 반사
if(this._x > xPos2 || this._x < xPos1){
xspeed = xspeed * -1;
}
if(this._y > yPos2 || this._y < yPos1){
yspeed = yspeed * -1;
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
};
xspeed = 10;
yspeed = 10;
// 경계점설정
xPos1 = red._width/2;
xPos2 = 550 - (red._width/2);
yPos1 = red._height/2;
yPos2 = 400 - (red._height/2); <- 위치 지정
/*경계점 내에 있도록 위치 이동
if(red._x < xPos1 || red._x > xPos2){
red._x = xPos1;
}*/
// 매프레임마다 할일 정하기
red.onEnterFrame = function(){
// 반사
if(this._x > xPos2 || this._x < xPos1){
xspeed = xspeed * -1;
}
if(this._y > yPos2 || this._y < yPos1){
yspeed = yspeed * -1;
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
};
④ 엔드레스(endless) 메뉴 만들기
메뉴, 갤러리, 엘리먼트 등에서 자주 쓰이는 기능으로 마우스를 움직임에 따라 메뉴가 움직이고 메뉴위로 마우스를 올리면 메뉴가 움직이지 않는 기능을 만들어 보겠습니다.
// endless Menu
menu_mc.speed = 5;
_root.menu_mc.onEnterFrame = function(){
// 마우스에 의해서 this.speed가 변경.
// _root._xmouse 가 0부터 550까지 변할 때.
// this.speed는 10부터 -10까지 변한다.
if(this.hitTest(_root._xmouse, _root._ymouse, 1) == true) {
//this.speed = 0 그냥 멈춤
this.speed = this.speed * 0.97; // 감속운동
} else { this.speed = (-10 -10) / (550 - 0) * (_root._xmouse - 0) + 10;
}
this._x = this._x + this.speed;
// 왼쪽으로 나가려 하면
if(this._x < -830){
this._x = this._x + this._width/3;
}
// 오른쪽으로 나가려 하면
if(this._x > -50){
this._x = this._x - this._width/3;
}
}
menu_mc.speed = 5;
_root.menu_mc.onEnterFrame = function(){
// 마우스에 의해서 this.speed가 변경.
// _root._xmouse 가 0부터 550까지 변할 때.
// this.speed는 10부터 -10까지 변한다.
if(this.hitTest(_root._xmouse, _root._ymouse, 1) == true) {
//this.speed = 0 그냥 멈춤
this.speed = this.speed * 0.97; // 감속운동
} else { this.speed = (-10 -10) / (550 - 0) * (_root._xmouse - 0) + 10;
}
this._x = this._x + this.speed;
// 왼쪽으로 나가려 하면
if(this._x < -830){
this._x = this._x + this._width/3;
}
// 오른쪽으로 나가려 하면
if(this._x > -50){
this._x = this._x - this._width/3;
}
}