Flash ActionScript学习:初识条件语句与变量
类别: Flash教程
现在舞台上放了一个MC,我们要让此MC在舞台上移动,但是当MC的X坐标达到400的时候,我们要让此MC调个头,该如何做呢?
用一段中文语句来描述上面的要求:"MC不断的向右移动,如果MC的坐标大于或者等于400时,MC调头。"
onClipEvent (enterFrame) {//不断载入下列{}中的内容
this._x += 5;//当前的MC的 X坐标自身+5
if (this._x>=400) {//如果当前的MC的X坐标大于或者等于400
this._xscale = -this._xscale;//当前的MC的X缩放=-X缩放
}
}
this._x += 5;//当前的MC的 X坐标自身+5
if (this._x>=400) {//如果当前的MC的X坐标大于或者等于400
this._xscale = -this._xscale;//当前的MC的X缩放=-X缩放
}
}
上面的实例中,MC调头后却乱动,假设我们要让MC调头后向左方移动,那么怎么操作呢?我们试着这样写:
onClipEvent (enterFrame) {
this._x += 5;
if (this._x>=400) {
this._xscale = -this._xscale;
this._x-=5
}
}
this._x += 5;
if (this._x>=400) {
this._xscale = -this._xscale;
this._x-=5
}
}
即:在条件判断中添加this._x-=5,但是一测试,发现问题没有得到解决,仔细研究:原来此段语句中出现逻辑错误:既要让MC 的x坐标减,又要让MC的x 坐标加,究竟要让人家怎样!
要解决这个问题,我们需要考虑到用变量,变量这个词语,只要读过初中的人一定知道,最原始的理解,变量,就是变化的量呗,例如重力公式中G=mg G和m 就是变量,而g为恒量,AS中称常量。在AS中,要使用变量,应当先申明变量,在申明变量的同时可以为变量赋值,也可以在使用的时候对变量赋值。赋值的方法:比如:var i=0现在我们来解决MC可以返回的问题。
onClipEvent (load) {
var i = 5//当MC载入后,就申明变量i=5
}
onClipEvent (enterFrame) {
this._x += i;//MC的x坐标+=i,就是说+=5
if (this._x>=400) {
this._xscale = -this._xscale;
i = -i;//既然i=-i那么i=-5了,上面的this._x+=i就成了this._x+=-5
}
}
var i = 5//当MC载入后,就申明变量i=5
}
onClipEvent (enterFrame) {
this._x += i;//MC的x坐标+=i,就是说+=5
if (this._x>=400) {
this._xscale = -this._xscale;
i = -i;//既然i=-i那么i=-5了,上面的this._x+=i就成了this._x+=-5
}
}
作业:用AS控制虫子在舞台上按照矩形的道路行走,并且虫子头在前。
-= 资 源 教 程 =-
文 章 搜 索