Javascript 在鼠标和对象(画布)之间移动向量上的对象

Javascript 在鼠标和对象(画布)之间移动向量上的对象,javascript,canvas,Javascript,Canvas,我正在制作一个类似于agar.io的游戏。我做了一个分割函数来分割斑点。但他们的行动有个问题。我希望它们以更快的速度在(mouseX,mouseY)和(blobX,blobY)之间的向量上移动。我不想让它移动到(mouseX,mouseY) 下面是我的代码和图表 播放琼脂克隆 身体{ 保证金:0; 填充:0; } 请更新您的浏览器。 变量 帆布, ctx, 宽度=内部宽度, 高度=内部高度, mouseX=0, mouseY=0; 变量 摄像机={ x:0,, y:0, //摄像机 更新:

我正在制作一个类似于agar.io的游戏。我做了一个分割函数来分割斑点。但他们的行动有个问题。我希望它们以更快的速度在(mouseX,mouseY)和(blobX,blobY)之间的向量上移动。我不想让它移动到(mouseX,mouseY)

下面是我的代码和图表


播放琼脂克隆
身体{
保证金:0;
填充:0;
}
请更新您的浏览器。
变量
帆布,
ctx,
宽度=内部宽度,
高度=内部高度,
mouseX=0,
mouseY=0;
变量
摄像机={
x:0,,
y:0,
//摄像机
更新:功能(obj){
this.x=(obj.blobsExtent.minx+obj.blobsExtent.maxx)/2;
this.y=(obj.blobsExtent.miny+obj.blobsExtent.maxy)/2;
这个.x-=宽度/2;
这.y-=高度/2;
}
},
玩家={
质量:54,,
x:0,,
y:0,
斑点:[],
斑点范围:{
minx:0,
米尼:0,
maxx:0,
马克西:0,
},
更新:函数(){
var be=this.blobsExtent;
for(var i=0;i0){
这个.blobs[i].速度--;
}
}
对于(var j=0;j=此.defaultMass){
cell.mass/=2;
这个,滴,推({
x:cell.x,
y:手机,y,
质量:cell.mass,
分裂:是的,
速度:20
});
}
},
绘图:函数(){
for(var i=0;i
前几次看到这一点,觉得很奇怪,但觉得你想要这样

this.blobs[i].y += x/length * this.blobs[i].speed;
//.................^    should not be x?
要沿向量移动,请使用y

this.blobs[i].y += y/length * this.blobs[i].speed;
//.................^ correction now moves along vector

但它仍然没有像我预期的那样工作。速度问题是there@AbhinavS.Chauhan不知道你想发生什么。该代码建议您希望分割的圆在20帧内以更快的速度移动,先是20像素,然后是19像素,以正常速度移动。他们是这样做的。别忘了你的视图是跟随圆圈的,当它们靠近鼠标时,鼠标会离开它们,而你没有任何背景对象可以给你任何速度感。我再次需要你的帮助