物体跟随鼠标移动并旋转角度
2011-01-06 11:05
609 查看
/*
库中有元件Ball标识为Ball
假如想让物体以每帧3像素的速度向45度的位置移动,
这里要用到三角学。 已知角度为45度,斜边长为3像素,
就可以应用 Math.cos 和 Math.sin 求出 vx 和 vy 的长度。
角的邻边长度为 vx,因为角的余弦值等于邻边/斜边。也可以说,
邻边等于角的余弦值乘以斜边。同样,对边长为 vy 的边,
因为角的正弦值等于对边/斜边,或是对边等于正弦乘以斜边。
实际应用的代码:
vx = Math.cos(angle) * speed;
vy = Math.sin(angle) * speed;
*/
库中有元件Ball标识为Ball
假如想让物体以每帧3像素的速度向45度的位置移动,
这里要用到三角学。 已知角度为45度,斜边长为3像素,
就可以应用 Math.cos 和 Math.sin 求出 vx 和 vy 的长度。
角的邻边长度为 vx,因为角的余弦值等于邻边/斜边。也可以说,
邻边等于角的余弦值乘以斜边。同样,对边长为 vy 的边,
因为角的正弦值等于对边/斜边,或是对边等于正弦乘以斜边。
实际应用的代码:
vx = Math.cos(angle) * speed;
vy = Math.sin(angle) * speed;
*/
package { import flash.display.Sprite; import flash.events.Event; public class VelocityAngle extends Sprite { private var ball:Ball; private var speed:Number; public function VelocityAngle() { init(); } private function init():void { speed = 3; ball = new Ball ; addChild(ball); ball.x = 50; ball.y = 50; addEventListener(Event.ENTER_FRAME,onEnter); } private function onEnter(e:Event):void { var dx:Number = mouseX - ball.x; var dy:Number = mouseY - ball.y; var radians:Number = Math.atan2(dy,dx); ball.rotation = radians * 180 / Math.PI; var vx:Number = Math.cos(radians) * speed; var vy:Number = Math.sin(radians) * speed; trace(ball.rotation); ball.x += vx; ball.y += vy; } } }
相关文章推荐
- Unity3D之物体跟随鼠标移动和旋转
- u3d物体跟随摄像头旋转角度
- Unity3d 物体跟随鼠标移动
- 【狼】unity 鼠标拖拽物体实现任意角度自旋转
- 3D场景中的物体跟随鼠标移动
- 2D画面中使物体跟随鼠标的方向旋转(向量法)
- js 计算获取鼠标相对某个点的移动旋转角度
- Unity 物体跟随鼠标点击移动,判断物体是否在移动
- LayaAir 自旋转的小球跟随鼠标移动
- Unity鼠标控制物体360°旋转和点击移动
- Uniyt3d物体跟随鼠标方向移动
- Unity 物体在屏幕内跟随鼠标移动
- LayaAir 自旋转的小球跟随鼠标移动
- unity 鼠标拖动 物体旋转 点击变色 拖动移动
- 游戏物体跟随鼠标移动
- Unity脚本,平滑跟随目标物体移动和旋转
- Unity3D控制物体前后左右移动、旋转及相机跟随
- [Unity]Object跟随鼠标移动而旋转
- Unity 代码实现物体跟随鼠标移动
- unity笔记 0 - 添加物体,预制体;施加力;移动物体,旋转物体;相机跟随;禁用物体