日期:2013-11-18  浏览次数:20698 次

  如今舞台上放了一个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缩放
}
}

点击这里下载源文件

  上面的实例中,MC调头后却乱动,假设我们要让MC调头后向左方挪动,那么怎样操作呢?我们试着这样写:

onClipEvent (enterFrame) {
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
}
}

点击这里下载源文件

  作业:用AS控制虫子在舞台上按照矩形的道路行走,并且虫子头在前。