我想製作像魚池一樣的東西。 當沒有動作發生時,動畫魚會四處走動。當鼠標靠近時,它們離開鼠標。 我認爲它已經做了很多次,但我無法找到解釋這個問題的教程。 我在找一個教程 感謝魚在池中,當鼠標靠近時必須離開
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. 鼠標靠近對象Javascript
- 2. Raphael - 當鼠標靠近元素時的事件
- 3. Jquery Fade在鼠標靠近元素
- 4. 如何可靠地檢測鼠標何時離開控件?
- 5. 當鼠標離開該div一定距離時隱藏div
- 6. TextField在鼠標離開時消失
- 7. 如何在鼠標靠近頁面頂部時顯示div
- 8. clearTimeout在鼠標離開
- 9. 爲什麼TextBox在鼠標離開時離開?
- 10. 如何可靠跟蹤鼠標進入和離開事件?
- 11. 鼠標進入和鼠標離開asp.net
- 12. 離開鼠標時的轉換
- 13. 當鼠標離開舞臺時,AS3:MOUSE_OUT不會觸發
- 14. 當鼠標離開2 div使用jquery時,如何觸發mouseleave
- 15. 當鼠標離開鏈接時關閉提示
- 16. 當鼠標離開容器時關閉Winform MenuStrip
- 17. JS當鼠標離開內容區域時隱藏html內容
- 18. 當鼠標離開視口頂部時檢測到?
- 19. 當鼠標離開元素時,CSS轉換過早結束
- 20. jQuery的鼠標離開功能時鼠標移動很快
- 21. Silverlight鼠標離開問題
- 22. 鼠標移動捕獲(鼠標離開和鼠標輸入)
- 23. 鼠標輸入/鼠標離開和鼠標左鍵按下
- 24. 是否可以阻止鼠標光標在鼠標移動時離開頁面
- 25. 爲什麼jQuery在鼠標離開時在元素上觸發鼠標懸停?
- 26. 當節點靠近時啓動動畫
- 27. 鼠標離開和鼠標在jquery中輸入問題,並點擊子菜單鏈接比接近子菜單?
- 28. 中的mouseenter和鼠標離開事件
- 29. 如何在人靠近接近傳感器時播放重複音頻並在他離開時停止
- 30. 鼠標輸入和鼠標離開在JavaScript
感謝所有的建議,我會學習 – sefiroths 2011-02-02 10:32:54