Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75

Создать анимацию, привязанную к клавишам

04.06.2013, 09:46. Показов 3011. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите создать анимацию привязаную к клавишам (очень простую)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2013, 09:46
Ответы с готовыми решениями:

Сделайте анимацию привязанную к клавишам
Сделайте обычную анимацию привязанную к клавишам например маленькой ракеты

Сделайте анимацию движения автомобиля, привязанную к клавишам
Сделайте анимацию движения автомобиля привязанную к клавишам. Буду премного благодарен!!!

Сделать анимацию, привязанную к клавишам
Помогите зделать анимацыю прив'язану к клавишам любую ,средньой тяжести.

12
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 09:59
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses
  GraphABC, Timers;
 
var
  x, y: integer; 
  dx: integer; 
  dy: integer; 
  speed: integer; 
 
procedure TimerProc;
begin
  ClearWindow; 
  Inc(x, dx); Inc(y, dy); 
  Rectangle(x, y, x + 30, y + 30); 
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of 
    VK_Escape: Halt; 
    VK_Left, VK_A: begin dx := -speed; dy := 0; end; 
    VK_Right, VK_D: begin dx := +speed; dy := 0; end; 
    VK_Up, VK_W: begin dy := -speed; dx := 0; end; 
    VK_Down, VK_S: begin dy := +speed; dx := 0; end; 
    VK_Home, VK_Q: begin dy := -speed; dx := -speed; end; 
    VK_End, VK_Z: begin dy := +speed; dx := -speed; end; 
    VK_PageUp, VK_E: begin dy := -speed; dx := +speed; end; 
    VK_PageDown, VK_C: begin dy := +speed; dx := +speed; end; 
    12, VK_X: begin dx := 0; dy := 0; end; 
  end; 
end;
 
begin
  SetWindowSize(900, 600); 
  CenterWindow; 
  ClearWindow(rgb(51, 76, 191)); 
  x := 600; 
  y := 300; 
  speed := 4; 
  OnKeyDown := KeyDown; 
  var objTimer := new Timer(100, TimerProc); 
  objTimer.Start; 
  
end.
1
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
04.06.2013, 10:08  [ТС]
чето она не работает(((( и еще упростите ее чтоб было 4 клавиши например стрелки)
0
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 10:10
Цитата Сообщение от кх Посмотреть сообщение
чето она не работает((((
Поподробнее опишите ошибки.
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
04.06.2013, 10:15  [ТС]
0
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 12:06
Вот это поворот... Не знал что в ABC не работают так кнопки

Добавлено через 1 час 27 минут
Например взять эту.
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
04.06.2013, 12:07
есть такое ) но тут немного подкорректировать и все будет ок..
например ;)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
uses
  GraphABC, Events;
 
var
  x, y: integer;
  dx: integer;
  dy: integer;
  speed: integer;
 
procedure Riss;
begin
  ClearWindow;
  Inc(x, dx); Inc(y, dy);
  setbrushcolor(clred);
  Rectangle(x, y, x + 30, y + 30);
  redraw;
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of
    VK_Escape: Halt;
    VK_Left: begin dx := -speed; dy := 0; end;
    VK_Right: begin dx := +speed; dy := 0; end;
    VK_Up: begin dy := -speed; dx := 0; end;
    VK_Down: begin dy := +speed; dx := 0; end;
    VK_Home: begin dy := -speed; dx := -speed; end;
    VK_End: begin dy := +speed; dx := -speed; end;
    VK_PageUp: begin dy := -speed; dx := +speed; end;
    VK_PageDown: begin dy := +speed; dx := +speed; end;
  end;
Riss;
end;
 
begin
  lockdrawing;
  SetWindowSize(900, 600);
  CenterWindow;
  x := 600;
  y := 300;
  speed := 4;
  Riss;
  OnKeyDown := KeyDown;
 
end.
3
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
04.06.2013, 15:19  [ТС]
а можете зделать програму только с использованем модуля граф?
0
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 15:20
Цитата Сообщение от кх Посмотреть сообщение
только с использованем модуля граф?
Насколько я понял в обычном ABC - нет, как-то он должен воспринимать нажатие клавиш, для этого и нужен модуль Events.
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
04.06.2013, 15:23  [ТС]
вот пример анимацыи без етого модуля , можете переделать както или по етому зделать чтото свое

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
uses graphABC,crt;
procedure Smail(x,y,r:integer);
begin
setbrushcolor(clYellow);
circle(x,y,r);
setbrushcolor(clBlue);
circle(x-8,y-5,3);
circle(x+8,y-5,3);
setpencolor(clBlack);
Arc(x,y+10,8,10,170);
end;
var x,y,r,d:integer;
    k:char;
begin
hidecursor;
x:=windowwidth div 2;
y:=windowheight div 2;
r:=15;
textout(x-80,20,'Управление стрелками');
textout(x-50,40,'Выход - Esc');
Smail(x,y,r);
lockdrawing;
repeat
if keypressed then
  begin
    k:=readkey;
    if k=#80 then
      begin
       clearwindow;
       if y>windowheight-2*r then d:=0
       else d:=10;
       y:=y+d;
       Smail(x,y,r);
       delay(100);
       redraw;
      end;
    if k=#72 then
      begin
        clearwindow ;
        if y<2*r then d:=0
        else d:=10;
        y:=y-d;
        Smail(x,y,r);
        delay(100);
        redraw
       end;
    if k=#75 then
      begin
       clearwindow;
       if x>windowwidth-2*r then d:=0
       else d:=10;
       x:=x+d;
       Smail(x,y,r);
       delay(100);
       redraw;
      end;
    if k=#77 then
      begin
       clearwindow;
       if x<2*r then d:=0
       else d:=10;
       x:=x-d;
       Smail(x,y,r);
       delay(100);
       redraw;
      end;
    if k=#27 then exit;
  end;
until k=#27;
end.
0
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 15:24
Так тут же используется ещё и CRT, а Вы сказали:

Цитата Сообщение от кх Посмотреть сообщение
только с использованем модуля граф
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 75
04.06.2013, 15:31  [ТС]
ну крт все изначально учат а тот модуль я не учил по етому я ево не знаю , ну крт тоже можно впихнуть )))
0
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
04.06.2013, 15:38
Так подойдёт?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
uses
  GraphABC, crt;
 
var
  x, y, r, d: integer;
  dx: integer;
  dy: integer;
  speed: integer;
  k: char;
 
procedure Riss;
begin
  ClearWindow;
  Inc(x, dx); Inc(y, dy);
  setbrushcolor(clred);
  Rectangle(x, y, x + 30, y + 30);
  redraw;
end;
 
 
begin
  lockdrawing;
  SetWindowSize(900, 600);
  CenterWindow;
  x := 600;
  y := 300;
  
  
  Riss;
  repeat
    if keypressed then
    begin
      k := readkey;
      if k = #80 then
      begin
        clearwindow;
        if y > windowheight - 2 * r then d := 0
        else d := 10;
        y := y + d;
        Riss;
        delay(100);
        redraw;
      end;
      if k = #72 then
      begin
        clearwindow;
        if y < 2 * r then d := 0
        else d := 10;
        y := y - d;
        Riss;
        delay(100);
        redraw
      end;
      if k = #75 then
      begin
        clearwindow;
        if x > windowwidth - 2 * r then d := 0
        else d := 10;
        x := x + d;
        Riss;
        delay(100);
        redraw;
      end;
      if k = #77 then
      begin
        clearwindow;
        if x < 2 * r then d := 0
        else d := 10;
        x := x - d;
        Riss;
        delay(100);
        redraw;
      end;
    end;
  until k = #27;
  
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2013, 15:38
Помогаю со студенческими работами здесь

Создать анимацию
Помогите создать анимацию в Языке Си

Создать анимацию
помогите создать анимацию

Создать анимацию
надо создать такую анимацию! что бы глядя на нее можно потерять дар речи :D

Создать анимацию
Получить системное время и на пикчербоксе красным цветом нарисовать на зеленом фоне

Создать анимацию
Плакат.Разработать и реализовать на экране политический или экологический плакат с динамическими (движущимися или мигающими)эффектами ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru