Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

скачать Object_mouse_move.zip

Последний раз редактировалось Dux; 08.12.2008 в 00:19.
Dux вне форума   Ответить с цитированием
Старый 08.12.2008, 07:35   #2
Kostia
Профессионал
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Адрес: Томск
Сообщений: 1,691
Репутация: 615

icq: 426824418
По умолчанию

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 Кб, 28 просмотров)

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение объекта по синусоиде? 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 01:42
Координаты курсора относительно объекта на форме CoDeR Общие вопросы Delphi 4 01.08.2007 22:49


08:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru