如何解决如何在 P5 中让移动精灵指向鼠标?
我试图制作一个程序,尽管它偏离原点,但仍将精灵指向我的鼠标。
当它在原点时旋转得很好,但很明显,当我开始将精灵移开时,它认为基于原点而不是它的位置旋转。
如何使我的旋转与我的精灵位置正确相关?这是我的代码:
var x = 0;
var y = 0;
function setup() {
createCanvas(600,600);
rectMode(CENTER)
}
function draw() {
background(0);
let posX = width/2;
let posY = height/2;
if (keyIsDown(87)) {y = y - 1;}
if (keyIsDown(83)) {y = y + 1;}
if (keyIsDown(65)) {x = x - 1;}
if (keyIsDown(68)) {x = x + 1;}
let angle = Math.atan2(mouseY-posY,mouseX-posX);
translate(posX,posY);
rotate(angle)
square(x,y,100)
}
解决方法
所以现在你的角色像我想的那样移动(无论鼠标位置如何 - 向前方向始终是屏幕顶部):
var x = 0;
var y = 0;
function setup() {
createCanvas(600,600);
rectMode(CENTER)
}
function draw() {
background(0);
let posX = width/2;
let posY = height/2;
//I went back to the moving way of your character which was before,and i hope this is what you expect:
let angle = Math.atan2(mouseY - posY - y,mouseX - posX - x);
if (keyIsDown(87)) {y = y - 1;}
if (keyIsDown(83)) {y = y + 1;}
if (keyIsDown(65)) {x = x - 1;}
if (keyIsDown(68)) {x = x + 1;}
//And here is the same as was before:
translate(posX + x,posY + y);
rotate(angle);
square(0,100);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。