Пятница, 26.04.2024, 10:54
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Перемещение, изменение цвета фигур  с клавиш

источник: 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;
}
}

 

Форма входа
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz