Ich versuche, ein Programm zu erstellen, in dem Sie ein Tastaturzeichen drücken und wird dann in 6 verschiedenen Schriftarten angezeigt (in sechs verschiedenen farbigen Quadraten). Ich zeige sechs Schriftarten gleichzeitig, aber ich möchte in der Lage sein, zwischen zwei Schriftarten zu wechseln, während ich mit der Maus klicke. Ab sofort konvertiert der Rechtsklick die Schrift unterhalb des Mauszeigers in kursiv.Durchlauf durch ein Array von Variablen in Verarbeitung
Meine Frage ist: Wie kann ich ein Array von PFont-Variablen machen, also wenn ich links auf ein "Zeichen" klicke; Ich kann durch einige Schriften, z. B. (Helvetica, Futura, Optima).
Mein Code ist unten:
boolean button1 = false;
boolean button2 = false;
boolean button3 = false;
boolean button4 = false;
boolean button5 = false;
boolean button6 = false;
int x1 =0;
int y1 =0;
int w1 = 400;
int h1 = 600;
int x2 = 400;
int y2 = 0;
int w2 = 400;
int h2 = 600;
int x3 = 800;
int y3 = 0;
int w3 = 400;
int h3 = 600;
int x4 = 0;
int y4 = 600;
int w4 = 400;
int h4 = 600;
int x5 = 400;
int y5 = 600;
int w5 = 400;
int h5 = 600;
int x6 = 800;
int y6 = 600;
int w6 = 400;
int h6 = 600;
String hel_reg = "Helvetica.vlw";
String din_reg = "DIN.vlw";
String did_reg = "Didot.vlw";
String roc_reg = "Rockwell.vlw";
String bel_reg = "Bell.vlw";
String sab_reg = "Sabon.vlw";
String hel_itl = "Helvetica_itl.vlw";
String din_itl = "DIN_itl.vlw";
String did_itl = "Didot_itl.vlw";
String roc_itl = "Rockwell_itl.vlw";
String bel_itl = "Bell_itl.vlw";
String sab_itl = "Sabon_itl.vlw";
String fut_reg = "Futura.vlw";
String opt_reg = "Optima.vlw";
String cla_reg = "Clarendon.vlw";
String uni_reg = "Unit_Slab_Pro.vlw";
String mrs_reg = "Mrs_Eaves.vlw";
String cas_reg = "Caslon.vlw";
String fut_itl = "Futura_Italics.vlw";
String name = "FranklinGothic-Demi-30.vlw";
String letters = "";
PFont Helvetica;
PFont DIN;
PFont Didot;
PFont Rockwell;
PFont Bell;
PFont Sabon;
PFont Helvetica_Italics;
PFont DIN_Italics;
PFont Didot_Italics;
PFont Rockwell_Italics;
PFont Bell_Italics;
PFont Sabon_Italics;
PFont Futura;
PFont Optima;
PFont Clarendon;
PFont Unit_Slab;
PFont Mrs_Eaves;
PFont Caslon;
PFont Futura_Italics;
PFont Franklin_Gothic;
void setup() {
size(1200, 1300);
Helvetica = loadFont(hel_reg);
DIN = loadFont(din_reg);
Didot = loadFont(did_reg);
Rockwell = loadFont(roc_reg);
Bell = loadFont(bel_reg);
Sabon = loadFont(sab_reg);
Helvetica_Italics = loadFont(hel_itl);
DIN_Italics = loadFont(din_itl);
Didot_Italics = loadFont(did_itl);
Rockwell_Italics = loadFont(roc_itl);
Bell_Italics = loadFont(bel_itl);
Sabon_Italics = loadFont(sab_itl);
Futura = loadFont(fut_reg);
Optima = loadFont(opt_reg);
Clarendon = loadFont(cla_reg);
Unit_Slab = loadFont(uni_reg);
Mrs_Eaves = loadFont(mrs_reg);
Caslon = loadFont(cas_reg);
Futura_Italics = loadFont(fut_itl);
Franklin_Gothic = loadFont(name);
}
void draw() {
noStroke();
fill(176, 116, 143);
rect(x1, y1, w1, h1);
fill(135, 184, 194);
rect(x2, y2, w2, h2);
fill(225, 205, 109);
rect(x3, y3, w3, h3);
fill(230, 111, 83);
rect(x4, y4, w4, h4);
fill(64, 78, 87);
rect(x5, y5, w5, h5);
fill(245, 242, 238);
rect(x6, y6, w6, h6);
fill(117, 172, 151);
rect(0, 1200, 1200, 100);
//stroke(245, 242, 238);
//strokeWeight(2);
//line(400, 1200, 400, 1300);
//line(800, 1200, 800, 1300);
if (button1) {
fill(225, 205, 109);
textFont(Helvetica_Italics);
textAlign(CENTER);
text(key, 200, 400);
} else {
fill(225, 205, 109);
textFont(Helvetica);
textAlign(CENTER);
text(key, 200, 400);
}
if (button2) {
fill(64, 78, 87);
textFont(Didot_Italics);
textAlign(CENTER);
text(key, 600, 400);
} else {
fill(64, 78, 87);
textFont(Didot);
textAlign(CENTER);
text(key, 600, 400);
}
if (button3) {
fill(176, 116, 143);
textFont(Bell_Italics);
textAlign(CENTER);
text(key, 1000, 400);
} else {
fill(176, 116, 143);
textFont(Bell);
textAlign(CENTER);
text(key, 1000, 400);
}
if (button4) {
fill(245, 242, 238);
textFont(DIN_Italics);
textAlign(CENTER);
text(key, 200, 1000);
} else {
fill(245, 242, 238);
textFont(DIN);
textAlign(CENTER);
text(key, 200, 1000);
}
if (button5) {
fill(230, 111, 83);
textFont(Rockwell_Italics);
textAlign(CENTER);
text(key, 600, 1000);
} else {
fill(230, 111, 83);
textFont(Rockwell);
textAlign(CENTER);
text(key, 600, 1000);
}
if (button6) {
fill(135, 184, 194);
textFont(Sabon_Italics);
textAlign(CENTER);
text(key, 1000, 1000);
} else {
fill(135, 184, 194);
textFont(Sabon);
textAlign(CENTER);
text(key, 1000, 1000);
}
textAlign(CENTER);
textFont(Franklin_Gothic);
fill(245, 242, 238);
text("HELVETICA", 200, 1241.58);
text("DIN", 200, 1277.5);
text("DIDOT", 600, 1241.58);
text("ROCKWELL", 600, 1277.5);
text("BELL", 1000, 1241.58);
text("SABON", 1000, 1277.5);
}
void mousePressed() {
if (mouseX > x1 && mouseX < x1+w1 && mouseY > y1 && mouseY < y1+h1 && mouseButton == RIGHT) {
button1 = !button1;
}
if (mouseX > x2 && mouseX < x2+w2 && mouseY > y2 && mouseY < y2+h2 && mouseButton == RIGHT) {
button2 = !button2;
}
if (mouseX > x3 && mouseX < x3+w3 && mouseY > y3 && mouseY < y3+h3 && mouseButton == RIGHT) {
button3 = !button3;
}
if (mouseX > x4 && mouseX < x4+w4 && mouseY > y4 && mouseY < y4+h4 && mouseButton == RIGHT) {
button4 = !button4;
}
if (mouseX > x5 && mouseX < x5+w5 && mouseY > y5 && mouseY < y5+h5 && mouseButton == RIGHT) {
button5 = !button5;
}
if (mouseX > x6 && mouseX < x6+w6 && mouseY > y6 && mouseY < y6+h6 && mouseButton == RIGHT) {
button6 = !button6;
}
if (mouseButton == LEFT) {
}
}
Sie könnten nicht in der Lage sein, um den Code auszuführen, weil ich vlw Dateien auf einem Datenordner. Ich weiß nicht, wie ich das hier einbeziehen soll.
Wie kann ich ein Array mit PFont erstellen? – Hitachiin69
'PFont [] Schriftarten = new PFont [numberOfFonts];' oder eine Arraylist 'ArrayList fonts = newArrayList ();' - - - PFont ist ein Objekt (Klasse) wie jedes andere, so dass Sie es einfach wie jedes andere verwenden können :) –