Flash中的移動方程

2010-08-28 10:49:01來源:西部e網(wǎng)作者:

    最近正好幫人家做一個圖片的翻頁的FLASH,所以重新研究了一下FLASH中圖片的方式代碼!以前自己寫過一些,不過滾動的效果不是太好,基本的原理就是取起始值與最終值之間的差值,然后除以一個移動系數(shù)的方式來寫!
function mov() {
  lx = n*w;
  btx = btx+(lx-btx)/6;
  this._x = Math.round(0-btx);
 }

    以前寫的一段代碼!其中LX為最終值,BTX為其實值,6為一個系數(shù),然后沒經(jīng)過一次移位后通過this._x = Math.round(0-btx);  來賦值.  其中的缺點就是,在圖片移動的時候,到最后幾個移位距離特別短,視覺效果上有點打折扣,這個網(wǎng)站的移動方式我就采用的這段老代碼.
 
    這幾天我又重新研究了一下GROUP94的移動代碼,發(fā)現(xiàn)他們在這方面就精明許多,整個圖片在移動的時候效果也很幫,基本在最后的幾幀之內(nèi),它采取了一個取整的方式.

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個系數(shù)來控制整個移動方式,這樣細分就會好很多, 最后它使用了一個判斷來做一個位置的取整. 整個移動效果就會漂亮很多!

    注意下,可能有許多人不太明白 MovieClip.prototype.xPOS = function(a, d) {} 什么意義,其實這斷程序的意義就是給MovieClip  加上一個自定義函數(shù),以后在影片內(nèi)的任何MovieClip 都能調(diào)用 這個函數(shù)了,不用再去重新定義!!相對新手而言拉...老鳥估計都會明白的拉!!:)

關(guān)鍵詞:Flash

贊助商鏈接: