分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
這段時間都很懶惰,並不知道該去寫一些什麼才能更好突破,總是發覺不是缺這樣就是那樣,除了看書做一些事情不能讓自己停止下來。這段時間總覺得自己很頹廢,暫時記錄一下最近看到乙個輪盤旋轉的做法,感覺還是挺好的。
先寫下第一篇,後面慢慢改進。希望想到更好的主題可以進行寫一下。
首先來講輪盤旋轉,很多想第一時間會想到**,其實這個正是**的其中乙個常見案例。我們不管他是如何實現,把核心的說一下大概會讓人明白當中的核心東西。
要旋轉會想到速度,想到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 這兩個擷取字串的函式。利用這個就可以對一段文字任意選取。從而產生乙個動畫 效果過程。打...