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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 23:16   #1
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию Движение объекта на форме по щелчку мыши

Предлагаю вашему вниманию пример движения танка в направлении, указываемом по щелчку мыши. В алгоритме рассмотрено 13 направлений. Программа получилась довольно мудреная.. кто знает как сделать то же самое, однако другим, возможно более простым и практичным способом?

скачать Object_mouse_move.zip

Последний раз редактировалось Dux; 07.12.2008 в 23:19.
Dux вне форума Ответить с цитированием
Старый 08.12.2008, 06:35   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

http://programmersforum.ru/showthrea...t=1206&page=17
и мой любимый способ:
Код:
uses Math;
var
  xx,yy: real;
  a,r,rr: real;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  a:=arctan2((y-yy),(x-xx));
  r:=sqrt(sqr(x-xx)+sqr(y-yy));
  rr:=0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  a:=0; rr:=0; xx:=Button1.Left; yy:=Button1.Top;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if rr<r then
  begin
    xx:=xx+cos(a);
    yy:=yy+sin(a);
    rr:=rr+1;
    Button1.Top:=round(yy);
    Button1.Left:=round(xx);
  end;
end;
Изображения
Тип файла: png 1.png (3.4 Кб, 156 просмотров)

Последний раз редактировалось Kostia; 08.12.2008 в 08:10.
Kostia вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение объекта по синусоиде? Roberto Помощь студентам 10 14.05.2008 17:00
Движение объекта по кругу Roberto Помощь студентам 2 06.05.2008 15:44
Движение указателя по форме или Image nevo Компоненты Delphi 5 06.04.2008 21:00
Движение объекта к точке frai Общие вопросы Delphi 3 10.01.2008 00:42
Координаты курсора относительно объекта на форме CoDeR Общие вопросы Delphi 4 01.08.2007 22:49