Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
7 / 6 / 2
Регистрация: 31.01.2022
Сообщений: 57

Изображение мерцает

27.02.2022, 12:27. Показов 264. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изображение мерцает даже когда есть LockaDrawing что делать? Вот код

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
uses ABCObjects, GraphABC; 
 
var 
 Pers: SquareABC; 
 Pers_Glaz: CircleABC; 
 PersX, PersY: integer; 
 
 isLeft := false; 
 isRight := false; 
 
procedure Draw(); 
begin 
 Window.Clear; 
 //--------------------------------------------------------------------------— 
 Pers := new SquareABC(PersX, PersY, 50, clRed); //Первонаж 
 Pers := new SquareABC(PersX + 10, PersY + 33, 5, clBlack); 
 Pers := new SquareABC(PersX + 15, PersY + 33, 5, clBlack); 
 Pers := new SquareABC(PersX + 20, PersY + 33, 5, clBlack); 
 Pers := new SquareABC(PersX + 25, PersY + 33, 5, clBlack); 
 Pers := new SquareABC(PersX + 30, PersY + 33, 5, clBlack); 
 Pers := new SquareABC(PersX + 35, PersY + 33, 5, clBlack); 
 Pers_Glaz := new CircleABC(PersX + 12, PersY + 12, 6, clBlue); 
 Pers_Glaz := new CircleABC(PersX + 38, PersY + 12, 6, clBlue); 
 //--------------------------------------------------------------------------— 
 Redraw; 
end; 
 
procedure KeyDown(key: integer);//Нажатие 
begin 
 case key of 
 VK_A: isLeft := true; 
 VK_D: isRight := true; 
 end; 
end; 
 
procedure KeyUp(key: integer);//Отжатие 
begin 
 case key of 
 VK_A: isLeft := false; 
 VK_D: isRight := false; 
 end; 
end; 
 
procedure KeyPress(ch: char); 
begin 
 if isRight then PersX := PersX + 30; 
 if isLeft then PersX := PersX - 30; 
end; 
 
begin 
 LockDrawing; 
 PersX := 640;PersY := 600; 
 SetWindowSize(1280, 720); 
 Window.Caption := 'Кубик'; 
 
 OnKeyPress := KeyPress; 
 OnKeyDown := KeyDown; 
 OnKeyUp := KeyUp; 
 while true do 
 begin 
 Draw(); 
 end; 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2022, 12:27
Ответы с готовыми решениями:

Создать изображение математической системы координат и изображение криволинейной фигуры-Контура
Написать программу, которая: a. создает изображение математической системы координат; b. создает изображение криволинейной...

Мерцает изображение
Монитор http://hard.rozetka.com.ua/ru/products/details/22787/index.html стал мерцать при включении компьютера,и мерцает до тех пор, пока...

Мерцает изображение в GDI+
Привет всем. Пишу пасьянс . Проблема такая :( при прорисовке колод,фона и движении карты всё жутко мерцает. Помогите пожалуйста исправить...

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
27.02.2022, 13:43
А ещё систему грузит бесполезным циклом…
И зачем пересоздаёте каждый раз заново „Первонаж“?
По сути он же сам по себе объект, который состоит их примитивов:
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
uses GraphABC;
 
type
  типПерсонаж = record
    x,y : Integer;
    
    constructor (x_,y_:integer);
    begin
      x:=x_; y:=y_;
    end;
    
    procedure Draw;
    begin
      Brush.Color := clRed;    Rectangle(x,y,x+50,y+50);
      Brush.Color := clBlack;  Rectangle(x+10,y+33,x+40,y+42);
      Brush.Color := clBlue;   Circle(x+12,y+12,6);  Circle(x+38,y+12,6);
      Redraw;
    end;
    
    procedure Move(dx,dy:integer);
    begin
      if (x+dx).InRange(0,window.Width-50) and (y+dy).InRange(0,Window.Height-50) then
        begin
          x+=dx;y+=dy;
        end;
      Draw;
    end;
  end;
  
var
  Персонаж := New типПерсонаж(640, 600);
 
 
procedure KeyDown(key: integer);//Нажатие 
begin
  Window.Clear;
  case key of 
    VK_A: Персонаж.Move(-30,0);
    VK_D: Персонаж.Move(+30,0);
  else
    Персонаж.Draw;
  end; 
end; 
 
begin 
  LockDrawing; 
  SetWindowSize(1280, 720); 
  Window.Caption := 'Кубик'; 
 
  Персонаж.Draw;
  OnKeyDown := KeyDown; 
  
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2022, 13:43
Помогаю со студенческими работами здесь

Мерцает изображение в 3D приложениях
Здравствуйте! На днях произошел сбой, после которого Изображение в 3D приложениях стало разбитым, начало мерцать. Резервные копии не...

Мерцает и плывет изображение на мониторе
Монитор, разъем только vga, купил видеокарту и переходник dvi-vga. Проблема мерцает изображение при увеличении разрешения. При разрешении...

Мерцает изображение при перерисовке
Прочитал много тем по данному вопросу, 2 способа включения двойной буферизации не помогли, но так и не понял, в чем проблема using...

мерцает изображение при работе от батареи
Здравствуйте,Asus k61IC,мерцает изображение при работе от батареи.Что делать?

Мерцает изображение в полноэкранном приложении opengl
Приложение написано в Lazarus 1.2.2. Клавиши управления курсором перемещают по экрану вращающуюся сетку. Вроде используется двойная...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
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 Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
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 позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru