このバグは私の週をひどく台無しにしました. インタラクティブなリーダーボードを作成しようとしていますが、その中には 3 つの配列があります。1 つは画像、2 つは文字列として記述した整数です。チームがはしごを上ったり下ったりするときに、チームを表す画像で数字を変更するkeyPressedイベントを作成しようとしています。また、ループを実行してウィンドウを元の状態に戻すmousePressedイベントがあります。
私の問題は、コードを実行しようとすると、keyPressed イベントが実行されず、マウスをクリックした後にのみ実行されることです。次に、画像は移動しますが、文字列配列は最初の画像セットでループバックしません。私は以下のコードを含めました...私はそれが長いことを知っています。今私が助けてほしいのは、keyPressed イベントが最初に実行され、positions1 文字列配列がループの実行時に元の位置に戻ることを確認することです。
以下にコードを含め、Macbook Pro OSX Processing 2.0b7 に取り組んでいます。
コードを屈折させ、ループを使用して画像とテキストを配置しました。今私が抱えている問題は、keyPressed イベントを開始しても画像とテキストが変わらないことです。私のコードを見てください:
PImage[] teams;
int n = 24;
PImage[] teams2;
int m = 16;
PImage quarterFinalWinners = new PImage();
float damping = 0.1;
PFont font;
String[] positions1 = {"18", "26", "32", "45", "58", "56", "59", "61", "66", "69", "71", "85", "98", "100", "116", "133"};
String[] positions2 = {"14", "19", "25", "30", "34", "45", "52", "69", "71", "72", "87", "84", "89", "105", "107", "110"};
float x;
float y;
/**----------------------------------------------------------------------------------------------------------------------------**/
void setup() {
size(600, 1600);
frameRate(60);
smooth();
font = loadFont("Calibri-Bold-48.vlw");
textFont(font);
frame.setResizable(true);
teams = new PImage[n];
for (int i = 0; i < teams.length; i++) {
teams[i] = loadImage(i + ".png");
}
teams2 = new PImage[m];
for (int i = 0; i < teams2.length; i++) {
teams2[i] = loadImage(i + ".jpg");
}
}
/**----------------------------------------------------------------------------------------------------------------------------**/
void draw() {
//noLoop();
background(0);
if ((x < width) && (y < height)) {
for (int i = 0; i < 16; i++) {
image(teams[i], 150, 60*i);
text(positions1[i], 100, 72*i);
}
}
if (keyPressed) {
if((key == 's') || (key == 'S') && (x < width) && (y < height)) {
for (int i = 0; i < 16; i++) {
image(teams[i], 150, 60*i);
text(positions1[i], 100, 72*i);
}
for (int i = 0; i >= 16; i++) {
text(positions2[i], 100, 72*i);
}
}
}
}
/**----------------------------------------------------------------------------------------------------------------------------**/
/**void keyPressed () {
if((key == 's') || (key == 'S') && (x < width) && (y < height)) {
for (int i = 0; i > 16; i++) {
image(teams[i], 150, 60*i);
}
for (int i = 0; i >= 16; i++) {
text(positions2[i], 100, 72*i);
}
}
}**/
/**image(images[10], 150, 290);
image(images[19], 150, 50);
image(images[17], 150, 230);
image(images[2], 150, 110);
image(images[22], 150, 410);
image(images[20], 150, 470);
image(images[16], 150, 650);
image(images[6], 150, 350);
image(images[7], 150, 590);
image(images[18], 150, 770);
image(images[21], 150, 170);
image(images[12], 150, 830);
image(images[13], 150, 530);
image(images[23], 150, 950);**/
void mousePressed () {
if (mousePressed) {
positions2 = positions1;
}
loop();
}