Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
 
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 104
1

анимация с canvas. Отталкивание от краев формы

02.03.2011, 18:47. Просмотров 1064. Ответов 0
Метки нет (Все метки)

Доброго времени суток. Задача проги - треугольник, который будет отталкиваться от краев формы. Причем при если он ударился 1 углом, он должен поворачиваться и ударяться следующим углом. Хз как реализовать последнее

Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
      procedure izo;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  a,b:integer;
  x1,y1:integer; i,j:boolean;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure tform1.izo;
begin
canvas.Brush.color:=clred;
canvas.polygon([point(a,b),point(100+a,b),point(a,100+b)]);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
refresh;
 
if a>=ClientWidth-102 then
i:=false;
 if a<=0 then i:=true;
if i then  a:=a+2 else a:=a-2;
 
 
if b>=ClientHeight-102 then
j:=false;
if b<=0 then j:=true;
if j then b:=b+2 else b:=b-2;
 
izo;
 
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=true;
j:=true;
end;
 
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2011, 18:47
Ответы с готовыми решениями:

Движение объектов с отталкиванием от краев формы
Здравствуйте. Как оформить движение объектов, например TShape, по форме, чтобы...

Анимация canvas
как сделать в дельфи (или в lazurus если кто знает) анимацию графическим...

Циклическая анимация Canvas
Доброго времени суток! Помогите с простым примером, пожалуйста! Необходимо...

Вопрос про Canvas.CopyRect и фактическую ширину формы.
Всем привет. Задача сохранить все, что видно на форме в графический файл....

Не могу рисовать в canvas формы если она fsMDIForm или fsMDIChild
В DELPHI XE!!! - возникла проблема: Простейший проект одна форма, одна кнопка....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2011, 18:47

построить функцию y=kx+b (линейная функция) с помощью Vcart или canvas (form.canvas)
Надо построить функцию y=kx+b (линейная функция) с помощью Vcart или canvas...

Движение фигуры по форме и отталкивание от краев
Имеется такой код внутри таймера private void timer1_Tick(object...

Найти расстояние от краев формы до краев экрана
Здравствуйте пожскажите пожалуйста как найти расстояни от краев формы до...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru