Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

Как сделать анимацию?   Найти похожие ветки 

 
Кирилл Таран   (2006-06-22 12:17) [0]

Как можно сделать анимацию в Дельфи 7.0?
Пробовал сделать, как в Борланд Паскале, используя оператор паузы (Delay), но не нашёл такой оператор :), с таймером и пустыми циклами не получилось.
Кто-нибудь подскажет ,как сделать анимацию, или этот оператор?


 
Чародей ©   (2006-06-22 20:31) [1]

Через таймер


 
grouzd)ev ©   (2006-06-22 22:55) [2]

Sleep

---
... we are walking on a thin line and you better avoid the risk ...


 
Sava18   (2006-06-24 19:23) [3]

попробуй покапаться в этом коде.Я его давненько писал и так до ума не довел.Програмка сыроватая но зато работает.Для ее работы на форму надо добавить таймер и имажелист.Ну там сам разбережся.За одно тут представлено как двигать  фигуру с помощью стрелок.

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   ImageList1: TImageList;
   Timer1: TTimer;
   procedure Timer1Timer(Sender: TObject);
   procedure FormActivate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
dx,y,x,n,r:integer;
implementation

{$R *.dfm}

 procedure TForm1.FormActivate(Sender: TObject);
begin
N:=-1;
x:=50;
y:=50 ;
dx:=10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
a,y1,x1:integer;
begin

x1:=x;
y1:=y;
if hiword(getkeystate(vk_right))=0 then a:=0;
if hiword(getkeystate(vk_right))<>0 then a:=1;
if hiword(getkeystate(vk_left))<>0 then a:=2;
case a  of
1: x1:=x1+dx;
2: x1:=x1-dx;
end;
case a of
0:r:=3;
1:r:=r+1;
2:r:=r-1;
end;
begin
N:=r;

Repaint;
if r=6 then r:=0;
if r<0 then r:=6;//временно
WITH form1.ImageList1 DO
BEGIN
case r of
0: Draw(Canvas,x1,y1,1);
1: Draw(Canvas,x1,y1,2);
2: Draw(Canvas,x1,y1,3);
3: Draw(Canvas,x1,y1,4);
4: Draw(Canvas,x1,y1,5);
5: Draw(Canvas,x1,y1,0);

end;
x:=x1;
end;
end;

end;

end.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
15-1150119141
[wl]
2006-06-12 17:32
2006.07.09
оффлайн-клиент IPB-форума


6-1141150518
indy_question
2006-02-28 21:15
2006.07.09
Сложности с TidTCPClient.Write();


3-1147245667
SHD
2006-05-10 11:21
2006.07.09
Значение по умолчанию.


15-1150011582
KASioZ
2006-06-11 11:39
2006.07.09
Debugger


2-1150956558
fast2
2006-06-22 10:09
2006.07.09
Как работает функция?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский