flash 與動畫 輪盤旋轉

2021-08-31 08:53:17 字數 3806 閱讀 7432

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

這段時間都很懶惰,並不知道該去寫一些什麼才能更好突破,總是發覺不是缺這樣就是那樣,除了看書做一些事情不能讓自己停止下來。這段時間總覺得自己很頹廢,暫時記錄一下最近看到乙個輪盤旋轉的做法,感覺還是挺好的。

先寫下第一篇,後面慢慢改進。希望想到更好的主題可以進行寫一下。

首先來講輪盤旋轉,很多想第一時間會想到**,其實這個正是**的其中乙個常見案例。我們不管他是如何實現,把核心的說一下大概會讓人明白當中的核心東西。

要旋轉會想到速度,想到rotation 這些屬性,而這些屬性正是我們所需要的。因此在製作的時候,我們讓rotation 不斷加上乙個變數讓其產生旋轉運動,這樣就可以實現到乙個輪盤旋轉的效果。

基本步驟:

首先建立初速度var speed:number=10;

我們演示的時候會通過乙個圖形,如shape型別,進行繪製乙個指標,這樣利用這個圖形來進行旋轉操作;

如:shape.rotation+=speed;//讓輪盤旋轉,可以看到它的旋轉

如果想讓指標緩慢停止可以讓速度每一幀進行遞減:speed-=0.2;這樣的話 輪盤旋轉的時候就會慢慢遞減下來。

當條件觸發:  if(speed<=0)  我們停止運動;

注意到:trace(shape.rotation)有可能是正也有可能是負值。並不是我們想象那樣是從0-360度那樣。

//建立乙個箭頭類:

[c-sharp]view plain

copy

print?

package   

}  }  

package  }}

//建立乙個圓盤

[c-sharp]view plain

copy

print?

package  

}         

}  }  

package  

}  }  

package     }    }

初步的開始:

[c-sharp]view plain

copy

print?

package   

private function init():void

private function onclick(event:mouseevent):void

private function onstopclick(event:mouseevent):void

stopmove();  

}  private function startgame():void

private function run(event:event):void

else

}  //運動  

private function move():void

//停止執行

private function stopmove():void

}  }  

package   private function init():void    private function onclick(event:mouseevent):void    private function onstopclick(event:mouseevent):void     stopmove();  }    private function startgame():void     private function run(event:event):void     else     }           //運動    private function move():void    //停止執行  private function stopmove():void   }}

當你構建完畢之後,其實這個只是乙個很少很少的過程。因為這個簡單旋轉並不能滿足我們的需求。更多的還是會留在後面。

為了改進這個。還是需要增加指定旋轉圈數,可以隨意定製命中局域,可以指定初始速度。

這些都是比較有趣,而且有意思的。

第二步進行改造:

下面進行乙個測試。在期間設定 圈數,目標角度,初始角度,等幾個引數。當中乙個算等差項參考了乙個flash 作者的計算方法。採用的辦法是等差的公式。 前n項的和sn=(首項+末項)×項數÷2 (sn=(a1+an)*n/2;) 

公差 d=(an-a1)÷(n-1)

可以知道的事情是,指標在旋轉的總的角度 是等於遞減的時候的速度變化總和。

設定引數:

[c-sharp]view plain

copy

print?

//設定初始化引數

private function setparameters():void  

//設定初始化引數  private function setparameters():void  

擁有這個計算辦法後可以解決一些問題。

[c-sharp]view plain

copy

print?

package   

private function init():void

//設定初始化引數

private function setparameters():void

private function onclick(event:mouseevent):void

private function onstopclick(event:mouseevent):void

stopmove();  

}  private function oncomboxchange(event:event):void

private function oncomboxchangeangle(event:event):void

private function startgame():void

private function run(event:event):void

else

}  //運動  

private function move():void

//停止執行

private function stopmove():void

}  }  

package   private function init():void      //設定初始化引數  private function setparameters():void        private function onclick(event:mouseevent):void    private function onstopclick(event:mouseevent):void     stopmove();  }    private function oncomboxchange(event:event):void        private function oncomboxchangeangle(event:event):void        private function startgame():void     private function run(event:event):void     else     }           //運動    private function move():void    //停止執行  private function stopmove():void   }}

加上乙個背景去,然後恰當修改一部分內容。這樣乙個簡單輪盤旋轉就可以實現了。

給我老師的人工智慧教程打call!

flash 與動畫 輪盤旋轉

這段時間都很懶惰,並不知道該去寫一些什麼才能更好突破,總是發覺不是缺這樣就是那樣,除了看書做一些事情不能讓自己停止下來。這段時間總覺得自己很頹廢,暫時記錄一下最近看到乙個輪盤旋轉的做法,感覺還是挺好的。先寫下第一篇,後面慢慢改進。希望想到更好的主題可以進行寫一下。首先來講輪盤旋轉,很多想第一時間會想...

CSS 實現載入動畫之五 光碟旋轉

原文 css 實現載入動畫之五 光碟旋轉 1.先看截圖 2.實現思路 2.1 首先還是定義四個元素,元素的中心為這四個元素組成的圓的圓心。這樣定義的目的可以保證元素拼湊成乙個正圓。2.2 在單個元素的頭尾各定義乙個子元素,子元素旋轉一定的角度,使其平行排列,中間剛好留乙個正圓的位置。這裡用了rota...

flash與動畫 打字動畫

最近看了一篇關於打字的動畫效果。覺得對一些實驗有所幫助,於是快速寫了乙個用於呈現一種打字的效果。這種效果可以用於對話的效果。原理 利用字串的選取讓其產生乙個錯覺效果。字串的操作有substring 和substr 這兩個擷取字串的函式。利用這個就可以對一段文字任意選取。從而產生乙個動畫 效果過程。打...