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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2009, 23:06   #1
Nektarinka
Пользователь
 
Аватар для Nektarinka
 
Регистрация: 04.09.2009
Сообщений: 11
Вопрос Анимация на форме.

Вот у меня такое задание..., Нарисовать кружок и заставить его каждую секунду двигаться по формЕ.... С кругом разобралась.... А вот движение это даже не представляю как запрограммировать.... Помогите пожалуйсто...
Nektarinka вне форума Ответить с цитированием
Старый 22.10.2009, 23:48   #2
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

Код давай свой
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 22.10.2009, 23:54   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

В таймере например с интервалом 100, перерисовывай кружок, при этом затирая старый.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 23.10.2009, 00:21   #4
Nektarinka
Пользователь
 
Аватар для Nektarinka
 
Регистрация: 04.09.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Дима я Посмотреть сообщение
Код давай свой
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var x,y,R,p,x_n,y_n:integer;
begin
 x_n:=StrToInt(Edit1.Text);
 y_n:=StrToInt(Edit2.Text);
 R:=StrToInt(Edit3.Text);

 p:=1-R;

 x:=0;

 y:=R;
  Form1.Canvas.Pixels[x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[y+y_n,x+x_n]:=CLRed;
   Form1.Canvas.Pixels[y+y_n,-x+x_n]:=CLRed;
    Form1.Canvas.Pixels[-y+y_n,x+x_n]:=CLRed;
     Form1.Canvas.Pixels[-y+y_n,-x+x_n]:=CLRed;

 while x<=y do
 begin
 if p<0 then
 begin
 x:=x+1;
 y:=y;
 p:=p+2*x+1;
 Form1.Canvas.Pixels[x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[y+y_n,x+x_n]:=CLRed;
   Form1.Canvas.Pixels[y+y_n,-x+x_n]:=CLRed;
    Form1.Canvas.Pixels[-y+y_n,x+x_n]:=CLRed;
     Form1.Canvas.Pixels[-y+y_n,-x+x_n]:=CLRed;
 end
 else
 begin
 x:=x+1;
 y:=y-1;
 p:=p+2*x+1-2*y;
 Form1.Canvas.Pixels[x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,-y+y_n]:=CLRed;
  Form1.Canvas.Pixels[-x+x_n,y+y_n]:=CLRed;
  Form1.Canvas.Pixels[y+y_n,x+x_n]:=CLRed;
   Form1.Canvas.Pixels[y+y_n,-x+x_n]:=CLRed;
    Form1.Canvas.Pixels[-y+y_n,x+x_n]:=CLRed;
     Form1.Canvas.Pixels[-y+y_n,-x+x_n]:=CLRed;
 
 end;
 end;


end;

end.

Последний раз редактировалось Stilet; 23.10.2009 в 09:46.
Nektarinka вне форума Ответить с цитированием
Старый 23.10.2009, 00:33   #5
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цикл for i:= 1 to N do
// нарисовал круг
// задержка ( 100 - 500 мсек)
// стер круг
//изменил координату (ы) рисования
// конец итерации цикла и возврат на новую итерацию
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 23.10.2009, 00:39   #6
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Жёсткий код А почему ты не заюзал Ellipse(...)?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 23.10.2009, 00:46   #7
Nektarinka
Пользователь
 
Аватар для Nektarinka
 
Регистрация: 04.09.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
Жёсткий код А почему ты не заюзал Ellipse(...)?
заюзалА.... не умею ещё....
Nektarinka вне форума Ответить с цитированием
Старый 23.10.2009, 00:47   #8
Nektarinka
Пользователь
 
Аватар для Nektarinka
 
Регистрация: 04.09.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от DeKot Посмотреть сообщение
Цикл for i:= 1 to N do
// нарисовал круг
// задержка ( 100 - 500 мсек)
// стер круг
//изменил координату (ы) рисования
// конец итерации цикла и возврат на новую итерацию
Спасибочки.... Попробую сделать так...
Nektarinka вне форума Ответить с цитированием
Старый 23.10.2009, 01:32   #9
Karp_13
Всё знать хотяка!
Пользователь
 
Аватар для Karp_13
 
Регистрация: 21.04.2009
Сообщений: 67
Радость между делом

Как-то писал подобную прогу(уже год на компе пылится))) - вот выкладываю всё с потрохами(там много разных процедур и функций... уж всего и не помню... шарик при ударе о стенку также изменяет свой радиус... только отражение от стенки бональное - под 45 градусов... хотели сделать возможность задавать угол падения и просчитывать отражение... но сказали и этого хватит)) - может пригодится))))

http://karp13.do.am/sharik_Karpova.zip

ps: багов там тоже много..)))
Я вредный и нервный, но бдобр.

Последний раз редактировалось Karp_13; 23.10.2009 в 01:35.
Karp_13 вне форума Ответить с цитированием
Старый 23.10.2009, 01:57   #10
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Да, там действительно есть баги и действительно мудрено

Вот набросал мой исходничек.

Цитата:
заюзалА.... не умею ещё....
Ах да, недочитал имя
Вложения
Тип файла: rar 1251252.rar (168.1 Кб, 29 просмотров)

Последний раз редактировалось Вавел из ГМТУ; 23.10.2009 в 02:03.
Вавел из ГМТУ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
анимация shad0w Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 13.12.2020 11:02
Анимация Belazur Мультимедиа в Delphi 3 09.12.2009 22:36
Анимация nimf Общие вопросы Delphi 6 07.08.2009 10:21
анимация Juffin Общие вопросы Delphi 2 26.05.2009 20:04
Анимация Rembo Софт 6 02.12.2007 18:31