Javascript 使对象面向鼠标光标
我是javascript的初学者。 我正在尝试制作一个非常基本的2d自上而下射击游戏,在这个游戏中,我想用鼠标光标旋转我的玩家。 我见过其他关于这个的问题,但没有一个对我有用。 请告诉我怎么做(我以前从未做过这种游戏。) 我已经附加了我的代码片段,我必须朝着鼠标旋转(“player1变量”) 免责声明:我是一个初学者(我想我会提到) 您可以添加一个参数来获取鼠标的坐标。根据给定的文档:Javascript 使对象面向鼠标光标,javascript,rotation,Javascript,Rotation,我是javascript的初学者。 我正在尝试制作一个非常基本的2d自上而下射击游戏,在这个游戏中,我想用鼠标光标旋转我的玩家。 我见过其他关于这个的问题,但没有一个对我有用。 请告诉我怎么做(我以前从未做过这种游戏。) 我已经附加了我的代码片段,我必须朝着鼠标旋转(“player1变量”) 免责声明:我是一个初学者(我想我会提到) 您可以添加一个参数来获取鼠标的坐标。根据给定的文档: myPics.addEventListener('mousemove',e=>{ x=e.offsetX; y
myPics.addEventListener('mousemove',e=>{
x=e.offsetX;
y=e.offsetY;
});
然后,您当然需要知道当前玩家的位置,但是在player变量中您已经知道了
现在可以得到x和y的差值,因为你们都知道鼠标和玩家的位置,这给了你们一个三角形。可以使用计算三角形角度,然后根据计算的角度旋转播放器(或者可能有角度,因为您希望播放器中心位于角度的中心)
你真的应该试着自己解决这个问题,因为你只能通过反复试验、阅读文档和尝试自己理解事物来提高你的编码技能。不过,我希望我能为您指明一个大致的方向。谢谢!为了确认,我需要找到玩家和鼠标的x和y值的差异(如果玩家x pos为50,鼠标x pos为70,则为20),然后使用毕达哥拉斯定理,用它们找到斜边的值,然后找到斜边的角度,对吗?你可能甚至不需要假设,我也无法从我的头脑中判断哪种方法可以计算哪个角度,你必须研究一些数学才能找到答案,对不起;)但是,如果你把数学做对了,它会有用的。Youtube会有帮助的!好的:)我看看
//variables
var player1;
var gun1;
var gun2;
function preload(){
}
function setup(){
//creating sprites
player1 = createSprite(200,200,30,30)
gun = createSprite(player1.x,player1.y-20,5,30)
gun.shapeColor = "black"
}
function draw(){
canvas = createCanvas(displayWidth-20, displayHeight-120);
background("#32CD32");
gun.x = player1.x;
gun.y = player1.y-15;
// functions to move
//up
if(keyDown("up")){
player1.y = player1.y - 5;
}
//down
if(keyDown("down")){
player1.y = player1.y + 5;
}
//right
if(keyDown("right")){
player1.x = player1.x + 5;
}
//left
if(keyDown("left")){
player1.x = player1.x - 5;
}
drawSprites();
}