Processing 单击区域处理后在屏幕上绘制
我正在尝试这样做,当用户点击程序中的铅笔图标时,他们可以画画,直到再次点击铅笔为止。我还没有添加切换功能,但我目前的问题是,我在鼠标区域中获得了所需的行为,我指定了鼠标区域,但屏幕上没有其他地方,请原谅我的代码在使用它的过程中发生了很多变化,但是通过在当前状态下运行它,你应该可以看到我所说的错误 谢谢Processing 单击区域处理后在屏幕上绘制,processing,Processing,我正在尝试这样做,当用户点击程序中的铅笔图标时,他们可以画画,直到再次点击铅笔为止。我还没有添加切换功能,但我目前的问题是,我在鼠标区域中获得了所需的行为,我指定了鼠标区域,但屏幕上没有其他地方,请原谅我的代码在使用它的过程中发生了很多变化,但是通过在当前状态下运行它,你应该可以看到我所说的错误 谢谢 PImage[] img = new PImage[3]; boolean drawPencil = false; boolean draw = false; void setup() {
PImage[] img = new PImage[3];
boolean drawPencil = false;
boolean draw = false;
void setup() {
size(960, 720);
for (int i = 0; i < img.length; i++)
img[i] = loadImage("image"+i+".png");
//an array of images that sorts and load them into our program
image(img[0],0,0);
img[0].resize(width, height);
// set the desired image to screen size
}
void mousePressed() {
if (mouseX > 772 && mouseX < 864 && mouseY > 1 && mouseY < 74) {
drawPencil = true;
draw = true;
// if the user clicks the pencil icon they will begin to draw
}
}
void mouseReleased()
{
draw = false;
}
void draw() {
if (draw) {
stroke(255);
line(mouseX, mouseY, pmouseX, pmouseY);
}
if (key == 'w'||key == 'W') {
image(img[0],0,0);
img[0].resize(width, height);
println(drawPencil);
}
}
PImage[]img=新PImage[3];
布尔值=假;
布尔图=假;
无效设置(){
大小(960720);
对于(int i=0;i772&&mouseX<864&&mouseY>1&&mouseY<74){
drawPencil=真;
绘制=真;
//如果用户单击铅笔图标,他们将开始绘制
}
}
void mouseereleased()
{
绘制=假;
}
作废提款(){
如果(抽签){
中风(255);
行(mouseX、mouseY、pmouseX、pmouseY);
}
如果(键=='w'| |键=='w'){
图像(img[0],0,0);
img[0]。调整大小(宽度、高度);
println(铅笔);
}
}
比上一篇文章好得多。我想我现在得到了你想要的。我给你编了一个简短的例子,这样你就能掌握窍门了。下面是它将要做的:
PImage-img;
布尔坎德劳;
无效设置(){
大小(960720);
背景(255);
img=loadImage(“pencil.png”);
}
作废提款(){
if(canDraw){
填充(颜色(0,128,0));
}否则{
填充(颜色(128,0,0));
}
rect(800,1100,100);
图像(img,800,1100,100);
if(canDraw和鼠标按下){
冲程(0);
行(mouseX、mouseY、pmouseX、pmouseY);
}
}
void mouseClicked(){
如果(鼠标>800&&mouseX<800+img.width&&mouseY>1&&mouseY<1+img.height){
坎德劳=!坎德劳;
}
}
如果你想问这个问题,我会留下来的。玩得开心
PImage img;
boolean canDraw;
void setup() {
size(960, 720);
background(255);
img = loadImage("pencil.png");
}
void draw() {
if (canDraw) {
fill(color(0, 128, 0));
} else {
fill(color(128, 0, 0));
}
rect(800, 1, 100, 100);
image(img, 800, 1, 100, 100);
if (canDraw && mousePressed) {
stroke(0);
line(mouseX, mouseY, pmouseX, pmouseY);
}
}
void mouseClicked() {
if (mouseX > 800 && mouseX < 800+img.width && mouseY > 1 && mouseY < 1+img.height) {
canDraw = !canDraw;
}
}