0

我试图让我的光标成为我在 P5.js 上设计的艺术游戏中已经预加载的 PNG 图像。
我已经尝试了很多东西,但它仍然不起作用!
有人可以让我知道将光标功能放在哪里以及在括号内放什么吗?非常感谢!

function preload() {

  uImg = loadImage('assets/ufo.png');

  rImg = loadImage('assets/asteroid.png');

  bImg3 = loadImage('assets/bimg3.jpg');

}

function setup() {

  createCanvas(1200, 600);

  mode = 3; //level 3 in game

  noCursor();

  
}

// END OF SET UP

function draw() {

   levelThree();

}

// END OF DRAW

function levelThree() {

  clear();

  if (mode == 3) {

    lost = false;

    score = 0;


    background(bImg3);

    cursor(uImg,mouseX,mouseY);  
  
  }
}
4

2 回答 2

0

我认为简单地使用image()而不是cursor()会做你想要的。我不知道为什么,但我认为使用时cursor()无法输入 a p5.Image,您必须将 URL 字符串放入互联网上存在的图像。

此外,使用 时cursor(),其他两个参数应介于 0 和 31 之间。它们描述了光标的“活动点”相对于实际鼠标点的位置。

于 2021-04-29T03:50:29.820 回答
0

你可以这样做:

let img

function preload(){
  img = loadImage('cursor.png')
}

function setup() {
  createCanvas(400, 400);
  imageMode(CENTER)
  noCursor()
}

function draw() {
  background(20); 
  image(img,mouseX,mouseY)
}

你应该把选项的东西放在 setup() 中,所以 imageMode() 和 fill() 和 idk rectMode()... 在 setup 中,尽管你要在 draw() 中绘制多次并且你应该加载预加载中的图像,因为 javascript 并不真正关心是否加载了图像并且回调函数是 meh,我认为预加载很好。我也不认为你真的assets需要assets/image.png

还有为什么你的代码片段末尾的 cursor() 中有 mouseX 和 mouseY ???

希望这实际上是在回答正确的问题...

于 2021-04-29T19:28:00.480 回答