当我出于某种原因尝试执行此代码时,它的这一部分:(RX1 =随机x 1,RY1 =随机y 1)(“ + 50部分在那里,因为矩形的宽度为50)
if(mouseClicked && mouseX > RX1 && mouseX < RX1 + 50 && mouseY > RY1 && mouseY < RY1 + 50){
fill(0, 0, 0);
rect(RX1, RY1, 50, 50);
}
不起作用,该程序只是将其点燃,我将它放到我能想到的任何地方,并且会感谢某人的帮助,谢谢!
如果需要的话,这里是其余的代码(除了if鼠标单击部分外,所有内容都可以使用
//random x and y variables for targets
var RX1 = random(25, 375);
var RX2 = random(25, 375);
var RX3 = random(25, 375);
var RX4 = random(25, 375);
var RY1 = random(25, 375);
var RY2 = random(25, 375);
var RY3 = random(25, 375);
var RY4 = random(25, 375);
//the juicy stuff
draw = function() {
//coloring
background(255, 255, 255);
fill(255, 0, 0);
//targets:
rect(RX1, RY1, 50, 50);
rect(RX2, RY2, 50, 50);
rect(RX3, RY3, 50, 50);
rect(RX4, RY4, 50, 50);
//gun
fill(0, 0, 0);
//front sight
rect(mouseX - 5, mouseY, 10, 20);
fill(255, 255, 255);
ellipse(mouseX + 0.5, mouseY + 5, 5, 5);
fill(0, 0, 0);
//back sights
rect(mouseX + 10, mouseY, 20, 20);
rect(mouseX - 30, mouseY, 20, 20);
//slide
rect(mouseX - 35, mouseY + 20, 70, 50);
//grip ledge
fill(77, 77, 77);
rect(mouseX - 35, mouseY + 71, 70, 20);
fill(0, 0, 0);
//grip
rect(mouseX - 30, mouseY + 90, 60, 100);
};
//on mouse click/during shooting
if(mouseClicked && mouseX > RX1 && mouseX < RX1 + 50 && mouseY > RY1 && mouseY < RY1 + 50 ){
fill(0, 0, 0);
rect(RX1, RY1, 50, 50);
}
附言:我知道我只为一个矩形制作了最后一个代码片段,没有一个可以双向工作
我想我已经有了该程序,只需单击鼠标即可做出响应。问题似乎是,检查鼠标是否单击的if语句在draw函数外部,该函数会永远循环,因此它永远不会检查if语句。我尝试将if语句放入mousePressed函数中(无论您在代码中的位置如何,都可以通过单击鼠标调用该if语句),它现在似乎可以正常工作(或者至少它在if语句内执行代码):
//variables
//random x and y variables for targets
var RX1 = random(25, 375);
var RX2 = random(25, 375);
var RX3 = random(25, 375);
var RX4 = random(25, 375);
var RY1 = random(25, 375);
var RY2 = random(25, 375);
var RY3 = random(25, 375);
var RY4 = random(25, 375);
//the juicy stuff
draw = function() {
//coloring
background(255, 255, 255);
fill(255, 0, 0);
//targets:
rect(RX1, RY1, 50, 50);
rect(RX2, RY2, 50, 50);
rect(RX3, RY3, 50, 50);
rect(RX4, RY4, 50, 50);
//gun
fill(0, 0, 0);
//front sight
rect(mouseX - 5, mouseY, 10, 20);
fill(255, 255, 255);
ellipse(mouseX + 0.5, mouseY + 5, 5, 5);
fill(0, 0, 0);
//back sights
rect(mouseX + 10, mouseY, 20, 20);
rect(mouseX - 30, mouseY, 20, 20);
//slide
rect(mouseX - 35, mouseY + 20, 70, 50);
//grip ledge
fill(77, 77, 77);
rect(mouseX - 35, mouseY + 71, 70, 20);
fill(0, 0, 0);
//grip
rect(mouseX - 30, mouseY + 90, 60, 100);
};
//on mouse click/during shooting
mousePressed = function() {
if(mouseX > RX1 && mouseX < RX1 + 50 && mouseY > RY1 && mouseY < RY1 + 50){
fill(0, 0, 0);
rect(RX1, RY1, 50, 50);
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句