繁体   English   中英

将玩家移向鼠标方向?

[英]Moving a player towards the mouse direction?

我正在寻找一行简单的代码或 API,如果它就这么简单的话。

我正在使用 BabylonJS 制作在线游戏,但遇到了问题。 我在文档中找不到任何内容来支持我的问题。 我在用

canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock;
    canvas.requestPointerLock();

要锁定鼠标,通常您必须单击并拖动。 我也使用这个运动脚本进行基本运动:

function KEY_DOWN(event)
{
    if (event.keyCode == 87)
    {
        player.position.z -= 0.5;
    }
    else if (event.keyCode == 65)
    {
        player.position.x += 0.5;
    }
    else if (event.keyCode == 83)
    {
        player.position.z += 0.5;
    }
    else if (event.keyCode == 68)
    {
        player.position.x -= 0.5;
    }
}

不幸的是,这只在轴上变换。 有什么方法可以确定我的鼠标在哪里看并向该点移动,而不仅仅是在固定轴上移动? 我似乎找不到任何具有我需要的确切方法的东西。 谢谢!

我不知道任何 API,但如果我正确理解您的问题,它应该不会那么糟糕。 您需要在点被锁定后挂钩 mousemove 事件,而不是像这里显示的简单处理: http : //www.html5rocks.com/en/tutorials/pointerlock/intro/你需要做您可以使用该处理程序中的键对每个可能的运动向量进行向量计算。 实际上,您将根据鼠标增量计算每次按键按下对应的指针锁定更改处理程序中的 x、y、z 增量。 可能没有听起来那么糟糕,因为您的鼠标增量一次最多只会影响 2 个轴。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM