나는 새 처리를하기 때문에 나를 참아 준다. 나는 당신이 그 색을 얻으려면 색칠 된 상자를 클릭하고 그릴 수 있고 물건을 넣을 수있는 기본적인 그리기 프로그램을 만들고 있습니다. 글쎄, 이미 빨간 상자 색과 지우개를 만들어서 파란 상자를 만들기로 결정했는데 그것을 클릭하면 파란 색이 변하지 않습니다. 나는 운이 문제를 해결하기 위해 노력했다.그림 그리기 문제
여기 코드 (이 이클립스에서 가장 잘 작동주의하고 프로세싱 코어 https://processing.org/tutorials/eclipse/ 가져 오기)입니다 : 모든
// note: many imports aren't used yet
import java.util.ArrayList;
import java.util.Scanner;
import processing.core.PApplet;
import processing.core.PShape;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends PApplet{
PShape rectangle;
int color;
int color2;
int color3;
boolean red = false;
boolean blue = false;
boolean green = false;
boolean eraser = false;
// needed to create this in order for Eclipse to work
public static void main(String[] args) {
PApplet.main("Main");
}
public void settings(){
size(1280, 720);
}
public void setup() {
size(1280, 720);
smooth();
background(255, 255, 255);
noStroke();
}
public void draw() {
// nothing here yet
if (keyPressed) {
}
else {
color = 0;
}
fill(0);
fill(255, 0, 0);
// red square
rect(0, 50, 50, 50);
fill(0, 10, 255);
// blue square
rect(0, 100, 50, 50);
fill(0);
}
public void mousePressed() {
if(red) {
color = 255;
color2 = 0;
color3 = 0;
}
if(eraser) {
color = 255;
color2 = 255;
color3 = 255;
}
if(blue) {
color = 0;
color = 10;
color = 255;
}
else{
fill(0);
}
// check if mouse is in drawing area
if (mouseX >= 50 && mouseX <= 1280 && mouseY >= 0 && mouseY <= 720) {
// change the drawing color
fill(color, color2, color3);
rect(mouseX, mouseY, 50, 50);
}
// if red
if (mouseX >= 0 && mouseX <= 50 && mouseY >= 50 && mouseY <= 100) {
eraser = false;
blue = false;
red = true;
}
// if eraser (note: in top left corner)
if (mouseX >= 0 && mouseX <= 50 && mouseY >= 0 && mouseY <= 50) {
red = false;
blue = false;
eraser = true;
}
// if blue
if (mouseX >= 0 && mouseX <=50 && mouseY >= 100 && mouseY <= 150) {
eraser = false;
red = false;
blue = true;
}
}
// basically the same code for mousePressed
public void mouseDragged() {
if(red) {
color = 255;
color2 = 0;
color3 = 0;
}
if(eraser) {
color = 255;
color2 = 255;
color3 = 255;
}
if(blue) {
color = 0;
color = 10;
color = 255;
}
if (mouseX >= 50 && mouseX <= 1280 && mouseY >= 0 && mouseY <= 720) {
fill(color, color2, color3);
rect(mouseX, mouseY, 50, 50);
}
if (mouseX >= 0 && mouseX <= 50 && mouseY >= 50 && mouseY <= 100) {
eraser = false;
blue = false;
red = true;
}
if (mouseX >= 0 && mouseX <= 50 && mouseY >= 0 && mouseY <= 50) {
red = false;
blue = false;
eraser = true;
}
if (mouseX >= 0 && mouseX <=50 && mouseY >= 100 && mouseY <= 150) {
eraser = false;
red = false;
blue = true;
}
}
}