我想制作像鱼池一样的东西。 当没有动作发生时,动画鱼会四处走动。当鼠标靠近时,它们离开鼠标。 我认为它已经做了很多次,但我无法找到解释这个问题的教程。 我在找一个教程 感谢鱼在池中,当鼠标靠近时必须离开
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