Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.03.2012, 09:42
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость Доброе утро

не подскажете как можно сделать анимацию в делфи????
мне нужно чтобы шарик летал по картинке и отталкивался об стены
Ответить с цитированием
  #2  
Старый 16.03.2012, 10:06
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

сам шарик можно рисовать через canvas по таймеру
если надо gif, то можно создать из canvas ряд файлов и другой прогой склеить или так
если gif не нужен, то можно сделать круглое окно, летающее и отскакивающее от стен экрана

Последний раз редактировалось Pyro, 16.03.2012 в 10:18.
Ответить с цитированием
  #3  
Старый 16.03.2012, 10:06
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,560
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Mp3
не подскажете как можно сделать анимацию в делфи????
мне нужно чтобы шарик летал по картинке и отталкивался об стены
Ищи примеры в этом разделе: http://www.delphisources.ru/pages/so...h/1_graph.html
Ответить с цитированием
  #4  
Старый 16.03.2012, 11:15
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость

спасибо,я нашел *http://www.delphisources.ru/pages/so...ng_balls.html* но мне кажется или это написано на JAVA????
Ответить с цитированием
  #5  
Старый 16.03.2012, 11:18
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

кажется.
Код:
program Balls;

uses
  Forms,
  BallMain in 'BallMain.pas' {Form1},
  BallObj in 'BallObj.pas';

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 16.03.2012, 11:32
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
По умолчанию

Код:
program Balls;

uses
  Forms,
  BallMain in 'BallMain.pas' {Form1},
  BallObj in 'BallObj.pas';

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
а вот это нельзя сделать с таймером??

Последний раз редактировалось Admin, 16.03.2012 в 13:41.
Ответить с цитированием
  #7  
Старый 16.03.2012, 11:42
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Mp3
а вот это нельзя сделать с таймером??
там уже есть таймер:
Код:
type
  TForm1 = class(TForm)
    Timer1: TTimer;
...
закачай программу то - все работает же.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 16.03.2012, 11:54
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Смущение

уменя получается вот так....*unit Unit5;
Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls,Forms;
BallMain in 'BallMain.pas' {Form1},
BallObj in 'BallObj.pas';

{$R *.RES}

type
  TForm5 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Timer1Timer(Sender: TObject);
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;

end.
Админ: Пользуемся тегами для оформления кода!

но чет не работает.

Последний раз редактировалось Admin, 16.03.2012 в 13:40.
Ответить с цитированием
  #9  
Старый 16.03.2012, 12:12
nixel nixel вне форума
Начинающий
 
Регистрация: 12.12.2011
Адрес: Москва
Сообщения: 150
Версия Delphi: XE2-U4
Репутация: 131
По умолчанию

Товарищ, скачайте для начала любую книгу по делфи, и прочтите главу о структуре делфи-проекта.
Код, приведенный выше, не будет работать. Точнее будет, но совсем не так, как Вы этого ожидаете.
Код:
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
это операторы инициализации и запуска программы, они уже описаны в самом файле проекта и в теле модуля абсолютно ни к чему.

по теме: еще как вариант можно положить на форму TImage, залить туда картинкой Ваш шарик и по таймеру изменять позицию (свойства Left и Top) по какой-нибудь формуле (например линейной функции) с проверкой на встречу с границами экрана.

Вариантов реализации много. Лишь бы придумать алгоритм и правильно это записать.

p.s. а какую-нибудь книжку я все же рекомендую скачать/купить - в большинстве книг есть начальные главы по логике и основам построения программ, которые помогут Вам понять как вообще работает программа/компьютер.

Последний раз редактировалось nixel, 16.03.2012 в 12:52.
Ответить с цитированием
  #10  
Старый 16.03.2012, 14:34
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость

Цитата:
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;

то есть этот код неправильный получается?
Цитата:
по теме: еще как вариант можно положить на форму TImage, залить туда картинкой Ваш шарик и по таймеру изменять позицию (свойства Left и Top) по какой-нибудь формуле (например линейной функции) с проверкой на встречу с границами экрана.
а вот это как??можно поподробнее плиз

Последний раз редактировалось Mp3, 16.03.2012 в 14:37.
Ответить с цитированием
  #11  
Старый 16.03.2012, 15:46
nixel nixel вне форума
Начинающий
 
Регистрация: 12.12.2011
Адрес: Москва
Сообщения: 150
Версия Delphi: XE2-U4
Репутация: 131
По умолчанию

Цитата:
Сообщение от Mp3
то есть этот код неправильный получается?
Это код для других целей.

Цитата:
Сообщение от Mp3
а вот это как??можно поподробнее плиз
Что-то вроде такого. На сверх-правильность не претендую, просто как простейшая реализация. Даже без каких-то функций
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls,
  Vcl.Imaging.pngimage;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
  a: integer = 1;  //Перемещение по х
  b: integer = 1;  //перемещение по y

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:= true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled:= false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var temp: integer;
begin
  if (Image1.Top <= 0) or ((Image1.Top + Image1.Height) >= Form1.ClientHeight) then b:= -b;
  if (Image1.Left <= 0) or ((Image1.Left + Image1.Width) >= Form1.ClientWidth) then a:= -a;
  Image1.Left:= Image1.Left + a;
  Image1.Top:= Image1.Top + b;
end;

end.

Соответственно, как ты будешь менять а и b уже твое дело. У меня они просто по единице каждая.

Добавлено:
У меня Delphi XE2, соответственно если будешь пытаться запускать на младших версиях, будет ругаться на подключаемые модули. Скопируй код обработчиков вручную.
Движение картинки - файл проекта
Project1 - ехе-файл, разбитый на два архива. Открывать из part1 соответственно. Если будет ругаться антивирь - не переживай, просто я ехе сжал через UPX, а то в оригинале он занимает 7 с половиной метров -_- (vcl такой vcl...)
Вложения
Тип файла: rar Движение картинки.rar (5.5 Кбайт, 4 просмотров)
Тип файла: rar Project1.part1.rar (960.0 Кбайт, 1 просмотров)
Тип файла: rar Project1.part2.rar (433.4 Кбайт, 1 просмотров)

Последний раз редактировалось nixel, 16.03.2012 в 16:52.
Ответить с цитированием
  #12  
Старый 16.03.2012, 21:45
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Посмотри, когда-то для студента делал: коллизии.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #13  
Старый 19.03.2012, 20:16
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
По умолчанию

nixel,почему программа проджект1 работает а начинаю смотреть код и запускаю Unit1 он мне выдает ошибку%)
Ответить с цитированием
  #14  
Старый 19.03.2012, 20:30
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость

Цитата:
Посмотри, когда-то для студента делал: коллизии.
спасибо большое, но очень большой код не могу найти что именно надо *чтобы на картинке просто летал шарик без всяких кнопок и звуков и скорости и отталкивался от стенок*
Ответить с цитированием
  #15  
Старый 20.03.2012, 00:00
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Кажись, во всех версиях Дельфи в папке Demos где-то есть пример под названием "EarthPng", правда, там не шарик летает, а Земля, но, думаю, переработать под шарик труда не будет .
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter