Перемещение, изменение цвета фигур с клавиш
источник: https://www.youtube.com/watch?v=8GEo3dwcwZA&index=8&list=PLU24OxjGmbJsAomamaD1A64QIZiyz5var
Перемещение эллипса
Пример. Создадим программу управления перемещением эллипса с помощью клавиатуры.
Вариант1. С клавиш w-s, a-d.
int x=320;
int y=240;
void setup() {
size(400,400);
}
void draw(){
background(0,255,0);
ellipse(x,y,70,70);
if(keyPressed) { //нажата ли клавиша какая либо вообще
// какая клавиша сейчас нажата.
if(key=='w'){y=y-1;} //если нажата клавиша w - перемещение эллипса вверх
else if(key=='s'){y=y+1;} //если нажата клавиша s - перемещение эллипса вниз
else if(key=='a'){x=x-1;} //если нажата клавиша a - перемещение эллипса влево
else if(key=='d'){x=x+1;} //если нажата клавиша d - перемещение эллипса вправо
}
}
|
|
Вариант 2. Создадим программу управления перемещением эллипса с клавиш- стрелок: UP,DOWN, LEFT, RIGHT
Встроенная переменная keyCode используется для хранения последней нажатой специальной клавиши вроде Shift, Ctrl или стрелки (UP,DOWN, LEFT, RIGHT).
Используем ее в блоке if, проверяющем, является ли клавиша дополнительной, так, как в функции keyPressed() в этом примере. keyCode принимает значения UP,DOWN, LEFT, RIGHT
int x;
int y;
int r;
color c;
void setup()
{
size( 480, 320 );
smooth();
strokeWeight( 2 );
x = width/4;
y = height/4;
r = 60;
c = color( 200, 100, 50 );
}
void draw()
{
background( 255 );
fill( c );
ellipse( x, y, r, r );
}
|
void keyPressed()
{
if ( key == CODED ) {
if ( keyCode == RIGHT ) {//движение вправо
x += 10;
} else if ( keyCode == LEFT ) {//движение вправо
x -= 10;
} else if ( keyCode == UP ) {//движение вверх
y -= 10;
} else if ( keyCode == DOWN ) {//движение вниз
y += 10;
}
}
}
|
Изменение цвета эллипса
Пример
int x;
int y;
int r;
color c;
void setup()
{
size( 480, 320 );
smooth();
x = width/2;
y = height/2;
r = 80;
c = color( 255, 0, 0 );
}
void draw()
{
background( 255 );
fill( c );
ellipse( x, y, r*2, r*2 );
}
|
void keyReleased()
{
switch ( key ) {
case 'r':
c = color( 255, 0, 0 );
break;
case 'g':
c = color( 0, 255, 0 );
break;
case 'b':
c = color( 0, 0, 255 );
break;
case 'c':
c = color( 0, 255, 255 );
break;
case 'm':
c = color( 255, 0, 255 );
break;
case 'y':
c = color( 255, 255, 0 );
break;
default:
break;
}
}
|