function mov() { lx = n*w; btx = btx+(lx-btx)/6; this._x = Math.round(0-btx); } |
以前写的一段代码!其中LX为最终值,BTX为其实值,6为一个系数,然后没经过一次移位后通过this._x = Math.round(0-btx); 来赋值. 其中的缺点就是,在图片移动的时候,到最后几个移位距离特别短,视觉效果上有点打折扣,这个网站的移动方式我就采用的这段老代码.
这几天我又重新研究了一下GROUP94的移动代码,发现他们在这方面就精明许多,整个图片在移动的时候效果也很帮,基本在最后的几帧之内,它采取了一个取整的方式.
MovieClip.prototype.xPOS = function(a, d) { this.xD = this.ePY-this._x; this.xA = (this.xD/a+this.xA)/d; this._x = this._x+this.xA; if (Math.abs(this.xA)<0.500000 && Math.abs(this.xD)<0.500000) { this.xD = this.xA=0; this._x = this.ePY; this.xCTV = false; } }; |
其中this.ePY 为最终值,xD为2点之间的位移,然后它是通个2个系数来控制整个移动方式,这样细分就会好很多, 最后它使用了一个判断来做一个位置的取整. 整个移动效果就会漂亮很多!
注意下,可能有许多人不太明白 MovieClip.prototype.xPOS = function(a, d) {} 什么意义,其实这断程序的意义就是给MovieClip 加上一个自定义函数,以后在影片内的任何MovieClip 都能调用 这个函数了,不用再去重新定义!!相对新手而言拉...老鸟估计都会明白的拉!!:)