#if-statement #switch-statement #boolean #processing
#if-statement #switch-statement #логическое #обработка
Вопрос:
это мой самый первый пост 🙂
Я изучаю графический дизайн на втором курсе, и нам нужно создать код для визитных карточек. Я хочу, чтобы при щелчке мышью фон визитной карточки менялся.
Он работал с логическим значением для двух изображений. Но теперь я хочу, чтобы он работал с четырьмя изображениями.
Попросил учителя о помощи, и она прислала мне информацию о Switch.
Но я понятия не имею, куда вставить мой код и как его заполнить.
Пока это мой код
String Instagram="@Famoys_Saz";
String quote = "Guess my passion ;)";
PFont font;
PImage bg;
PImage Snake2;
PImage snake3;
PImage snake4;
boolean click = true;
void setup() {
size(850, 550);
font = createFont("Galaxyfaceano-4yM9.ttf", 45);
textFont(font);
textAlign(CENTER);
bg = loadImage("Snake.jpg");
Snake2= loadImage ("Snake2.jpg");
click = true;
}
void draw() {
background(bg);
if (click == true ) {
image(bg, 0, 0);
} else {
image(Snake2, 0, 0);
}
text(Instagram, mouseX, mouseY);
text(quote, mouseY, mouseX, 05);
}
void mousePressed() {
click =! click;
}
и это код, который мне прислал мой учитель:
if( imageNumber == 1 ) {
} else if ( imageNumber == 2 ) {
} else {
}
Может ли кто-нибудь мне помочь? Я совсем новичок, когда дело доходит до кодирования.
Комментарии:
1. В Интернете есть много примеров — просто найдите оператор switch в C
Ответ №1:
это будет выглядеть примерно так:
switch( imageNumber ) {
case 1: // same as saying imageNumber == 1
//some code
break;
case 2: // same as saying imageNumber == 2
//some code here
break;
}
Комментарии:
1. Мне просто интересно, что мне нужно заполнить на месте ImageNumber? Должен ли я указывать там имя изображения?
2. вы можете использовать имя изображения. Но я бы рекомендовал присвоить каждому изображению идентификатор, а затем передать этот идентификатор как целое число в ImageNumber и проверить, равно ли оно 1,2,3 или 4 в случае 1, случае 2 и так далее
3. Хорошо, я думаю, что знаю, что теперь делать, спасибо за помощь
Ответ №2:
switch(imageNumber) {
case 1:
// do stuff
break;
case 2:
// do stuff
break;
case 3:
// do stuff
break;
case 4:
// do stuff
break;
default:
// if no case was selected, do this
}
Коммутаторы легко читаются и эффективны, и некоторые программисты предпочитают их else if
. Оба варианта хороши, если они доступны для чтения, но коммутатор имеет некоторые уникальные особенности, например, необходимость использования break;
между случаями. Завершит break;
работу коммутатора, иначе он будет оценивать все другие возможные случаи (таким образом, вы экономите некоторое время выполнения).
В роботизированном проекте мне пришлось намеренно пропустить break;
оператор, чтобы робот делал «все с этого момента», но это очень необычно и является источником многих ошибок для начинающих, о которых нужно забыть break;
.
В зависимости от языка коммутаторы могут оценивать разные вещи, но классикой являются целые числа и строки.
Получайте удовольствие!
Комментарии:
1. Спасибо за ваш комментарий 🙂
2. @SarahRose Привет, Сара! Пожалуйста, проголосуйте за ответы, которые вам помогут (вы можете проголосовать за все из них, если все они помогут), и когда один ответ решит вашу первоначальную проблему, установите флажок, чтобы сделать его правильным ответом на вашу ситуацию (только один «официальный» ответ на вопрос). Эти действия помогут будущим пользователям с похожими вопросами найти эту информацию, вот как работает этот сайт: мы пишем ответы для вас, но одновременно и для будущих пользователей! Хорошего дня.
3. Спасибо, что объяснили мне, как работает этот веб-сайт 🙂