as3跟随鼠标旋转的问题
我写的如下代码.stop();//跟随鼠标旋转stage.addEventListener(MouseEvent.MOUSE_MOVE,mov);functionmov(...
我写的如下代码.
stop();
//跟随鼠标旋转
stage.addEventListener(MouseEvent.MOUSE_MOVE,mov);
function mov(e) {
//trace(pt.mouseX);
//trace(pt.mouseY);
//trace(Math.atan2(pt.mouseY,pt.mouseX));
//trace(Math.atan(pt.mouseX/pt.mouseY));
var jiao=Math.atan2(pt.mouseY,pt.mouseX)*(180/Math.PI);
trace(jiao);
//jiao=Math.round((jiao/Math.PI))+90;
//trace(jiao);
pt.rotation=jiao;
}
pt是一个向上的箭头.现实太让我失望了,箭头一通乱转,根本不是跟着鼠标转.
哪位高人能帮我改改,谢谢了.
stage.addEventListener(MouseEvent.MOUSE_MOVE,mov);
function mov(e) {
var jiao=Math.atan2(pt.mouseY,pt.mouseX)*(180/Math.PI);
pt.rotation=jiao;
}我写的和你说的一样嘛,可是他不行 啊.乱转一气 展开
stop();
//跟随鼠标旋转
stage.addEventListener(MouseEvent.MOUSE_MOVE,mov);
function mov(e) {
//trace(pt.mouseX);
//trace(pt.mouseY);
//trace(Math.atan2(pt.mouseY,pt.mouseX));
//trace(Math.atan(pt.mouseX/pt.mouseY));
var jiao=Math.atan2(pt.mouseY,pt.mouseX)*(180/Math.PI);
trace(jiao);
//jiao=Math.round((jiao/Math.PI))+90;
//trace(jiao);
pt.rotation=jiao;
}
pt是一个向上的箭头.现实太让我失望了,箭头一通乱转,根本不是跟着鼠标转.
哪位高人能帮我改改,谢谢了.
stage.addEventListener(MouseEvent.MOUSE_MOVE,mov);
function mov(e) {
var jiao=Math.atan2(pt.mouseY,pt.mouseX)*(180/Math.PI);
pt.rotation=jiao;
}我写的和你说的一样嘛,可是他不行 啊.乱转一气 展开
1个回答
2010-02-03
展开全部
旋转角度指向目标方位(鼠标)
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
对象._rotation = Math.atan2(dy,dx) * 180 / Math.PI;
计算基本三角函数:
正弦 = 对边/斜边
余弦 = 邻边/斜边
正切 = 对边/邻边
角度/弧度转换
角度 = 弧度 * 180 / Math.PI
弧度 = 角度 * Math.PI / 180
旋转角度指向目标方位(鼠标)
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
对象._rotation = Math.atan2(dy,dx) * 180 / Math.PI;
创建弦波
onEnterFrame = function(){
对象.属性 = 中心原点 + Math.sin(弧度) * 变化量
弧度 += 递增量;
}
创建圆
onEnterFrame = function(){
对象.x座标 = 中心原点 + Math.cos(弧度) * 变化量
对象.y座标 = 中心原点 + Math.sin(弧度) * 变化量
弧度 += 递增量;
}
创建椭圆
onEnterFrame = function(){
对象.x座标 = 中心原点 + Math.cos(弧度) * 变化量1
对象.y座标 = 中心原点 + Math.sin(弧度) * 变化量2
弧度 += 递增量;
}
获取两点间距离
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
线距 = Math.sqrt(dx * dx + dy * dy);
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
对象._rotation = Math.atan2(dy,dx) * 180 / Math.PI;
计算基本三角函数:
正弦 = 对边/斜边
余弦 = 邻边/斜边
正切 = 对边/邻边
角度/弧度转换
角度 = 弧度 * 180 / Math.PI
弧度 = 角度 * Math.PI / 180
旋转角度指向目标方位(鼠标)
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
对象._rotation = Math.atan2(dy,dx) * 180 / Math.PI;
创建弦波
onEnterFrame = function(){
对象.属性 = 中心原点 + Math.sin(弧度) * 变化量
弧度 += 递增量;
}
创建圆
onEnterFrame = function(){
对象.x座标 = 中心原点 + Math.cos(弧度) * 变化量
对象.y座标 = 中心原点 + Math.sin(弧度) * 变化量
弧度 += 递增量;
}
创建椭圆
onEnterFrame = function(){
对象.x座标 = 中心原点 + Math.cos(弧度) * 变化量1
对象.y座标 = 中心原点 + Math.sin(弧度) * 变化量2
弧度 += 递增量;
}
获取两点间距离
dx = 跟踪座标x - 原点座标x;
dy = 跟踪座标y - 原点座标y;
线距 = Math.sqrt(dx * dx + dy * dy);
VSH艾羽
2024-10-27 广告
2024-10-27 广告
ANSYS是一款功能强大的有限元分析软件,广泛应用于航空航天、汽车、电子、能源等多个领域。它能够进行结构、流体、热、电磁等多物理场的仿真分析,支持复杂的几何建模、高效的网格划分和多种求解器,帮助工程师优化产品设计,减少开发成本,提高生产效率...
点击进入详情页
本回答由VSH艾羽提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询