我想製作像魚池一樣的東西。 當沒有動作發生時,動畫魚會四處走動。當鼠標靠近時,它們離開鼠標。 我認爲它已經做了很多次,但我無法找到解釋這個問題的教程。 我在找一個教程 感謝魚在池中,當鼠標靠近時必須離開
0
A
回答
3
(這不是一個簡單的問題都沒有)
喜,
這種運動被稱爲植絨。有相當簡單的規則放在一起,你的將成爲自治。 boids的原始概念由Craig Reynolds發現,可在此處獲取:http://www.red3d.com/cwr/boids/。
解釋和actionscript中的實現由Keith Peters在他的書AdvncED actionscript 3.0中完成。
與材料(類和樣本文件)可在這裏:http://www.friendsofed.com/download.html?isbn=1430216085
注意,其他實現方式存在,我建議這一個http://blog.inspirit.ru/?p=231
您可能也有興趣授予skinner的漂移運動類:http://gskinner.com/blog/archives/2009/11/wander_motion_c.html
2
根據魚的運動是如何精心製作的,你必須衡量魚和Event.ENTER_FRAME
(或在Timer
間隔),然後讓鼠標位置之間的距離和角度如果距離小於最小值,則魚朝相反的方向移動。
這些可能幫助:
function getDistance (posa:Point, posb:Point) : Number {
var distanceX : Number = posa.x - posb.x;
var distanceY : Number = posa.y - posb.y;
return Math.sqrt(Math.pow(distanceX, 2) + Math.pow (distanceY, 2));
}
function getAngle (posa:Point, posb:Point) : Number {
var distanceX : Number = posa.x - posb.x;
var distanceY : Number = posa.y - posb.y;
var angleInRadians : Number = Math.atan2 (distanceY, distanceX);
var angleInDegrees : Number = angleInRadians * (180/Math.PI);
return angleInDegrees > 0 ? angleInDegrees : angleInDegrees + 360; // always returns a positive value to avoid confusion when used with the rotation property
}
用法:
var posa:Point = fish.parent.localToGlobal (new Point (fish.x, fish.y); // fish position relative to the stage
var posb:Point = new Point (stage.mouseX, stage.mouseY); // mouse position relative to the stage
var distance:Number = getDistance (posa, posb); // distance in pixels
var angle:Number = getAngle (posa, posb); // angle in degrees
相關問題
- 1. 當鼠標靠近時,jQuery有動畫
- 2. 鼠標靠近對象Javascript
- 3. 停止當鼠標離開在JQuery中
- 4. GWT:請當鼠標離開
- 5. 標題菜單必須靠近徽標! (右段)
- 6. Raphael - 當鼠標靠近元素時的事件
- 7. 當鼠標靠近窗口邊緣時如何自動滾動
- 8. Jquery Fade在鼠標靠近元素
- 9. 當鼠標離開JTable時的鼠標事件?
- 10. 如何可靠地檢測鼠標何時離開控件?
- 11. 當鼠標在滾動時離開trackingArea時不會調用mouseExited
- 12. 當鼠標離開該div一定距離時隱藏div
- 13. TextField在鼠標離開時消失
- 14. 如何在鼠標靠近頁面頂部時顯示div
- 15. D3.js鼠標懸停不活躍時,標記靠得太近
- 16. 在鼠標離開事件
- 17. clearTimeout在鼠標離開
- 18. 爲什麼TextBox在鼠標離開時離開?
- 19. 如何可靠跟蹤鼠標進入和離開事件?
- 20. jQuery的鼠標懸停鼠標離開
- 21. 鼠標進入和鼠標離開asp.net
- 22. jQuery的鼠標按下+鼠標離開
- 23. 鼠標離開控件時Winforms事件
- 24. 離開鼠標時的轉換
- 25. JS當鼠標離開內容區域時隱藏html內容
- 26. 當鼠標離開容器時關閉Winform MenuStrip
- 27. 當鼠標離開鏈接時關閉提示
- 28. 當鼠標離開窗體時關閉應用程序
- 29. 當鼠標離開div時刪除圖像
- 30. 當鼠標離開視口頂部時檢測到?
感謝所有的建議,我會學習 – sefiroths 2011-02-02 10:32:54