【发布时间】:2015-03-12 22:57:30
【问题描述】:
在过去的几天里,我一直在试验三角学,并想出了你在某些游戏中发现的那些简洁的五边形统计数据之一。 (fiddle!)
我真的很想让内部多边形的顶点可以拖动以更改统计值。我的鼠标功能运行良好,但是用鼠标在线上拖动点的最佳方法是什么?
我创建了一张图片来可视化我的问题;红色多边形是“当前”多边形,粉色线条代表新多边形,粉色圆圈强调顶点的新点,蓝色线条是矢量切线,绿色圆圈是光标。强>
我之前写过一个处理向量的程序,但我不知道如何将它应用到这种情况。
这是一些代码(在循环函数中):
for(var i = 0; i < innerPolygonKnobs.length; i ++){
var knob = innerPolygonKnobs[i];
distX = knob.x-mouse.x;
distY = knob.y-mouse.y;
distTotal = Math.sqrt(distX*distX + distY*distY);
if(distTotal < 8){
if(!knob.over)change = true;
knob.over = true;
if(mouse.down){
// What goes here?
}
} else {
if(knob.over)change = true;
knob.over = false;
}
}
if(change)redraw();
提前非常感谢! :D
【问题讨论】:
标签: javascript html canvas