Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2013, 16:47   #1
yurotchka
Новичок
Джуниор
 
Регистрация: 13.06.2013
Сообщений: 1
По умолчанию Canvas.Движение шарика по заданной нарисованной траектории

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

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    btn2: TButton;
    tmr1: TTimer;
    procedure btn2Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i,j:Integer;
implementation

{$R *.dfm}


procedure TForm1.btn1Click(Sender: TObject);
begin
Canvas.Rectangle(1,1,700,700);    //создание формы
Canvas.Ellipse(2,70,20,50);
Canvas.MoveTo(1,70);
Canvas.LineTo(50,70);
Canvas.MoveTo(50,90);
Canvas.LineTo(50,70);
Canvas.MoveTo(50,90);
Canvas.LineTo(90,90);
Canvas.MoveTo(90,90);
Canvas.LineTo(90,70);
Canvas.MoveTo(90,70);
Canvas.LineTo(200,70);
Canvas.MoveTo(200,50);
Canvas.LineTo(200,70);
Canvas.MoveTo(200,50);
Canvas.LineTo(250,50);
Canvas.MoveTo(250,50);
Canvas.LineTo(250,70);
Canvas.MoveTo(250,70);
Canvas.LineTo(350,70);

end;

procedure TForm1.btn2Click(Sender: TObject);
begin
PatBlt(Form1.Canvas.Handle, 0, 0,
Form1.ClientWidth, Form1.ClientHeight, WHITENESS);// очистка экрана
end;

 procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
В приложении скрин запуска программы.
Изображения
Тип файла: jpg программа №1.jpg (17.7 Кб, 186 просмотров)
yurotchka вне форума Ответить с цитированием
Старый 16.06.2013, 05:58   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Код:
//procedure Form1.Animate();
FillRect(clipRect);
for i:=0 to число_точек_траектории-1 do
begin
  Canvas.Ellipse(x[i]-2, y[i]-2, x[i]+3, y[i+3];
  Application.ProcessMessages;
  Sleep(200);
end;
TwiX вне форума Ответить с цитированием
Старый 22.06.2013, 20:35   #3
Andrey131
Заблокирован
 
Регистрация: 22.06.2013
Сообщений: 2
По умолчанию

спасибо вам
Andrey131 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение шарика по кругу Позитрон Общие вопросы Delphi 1 19.11.2012 20:23
Движение шарика с горки klyvis Помощь студентам 2 18.10.2011 08:47
Движение шарика Stradivarius Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2010 00:45
Движение шарика в С# mak-mar Общие вопросы .NET 7 13.05.2009 17:59
движение вокруг тела по заданной траектории PADOCTb Помощь студентам 2 12.10.2008 16:39