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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2010, 14:31   #1
Dalef
 
Регистрация: 15.05.2010
Сообщений: 9
По умолчанию Двигать объект по прямой y = kx

Среда разработки: Delphi. Рисую на Canvas'e. Я пытался делать так. Создал переменные k: real и mx: integer. В событии OnMouseDown писал следующий код:
Код:
mx := X;
k := (Y - Y_объекта)/(X - X_Объекта);
При отрисовке кадра делал следующее:
Код:
if mx > X_Объекта then begin
  Inc(X_Объекта, СКОРОСТЬ_X);
  if X_Объекта > mx then X_Объекта := mx;
end;
if X_Объекта > mx then begin
  Dec(X_Объекта, СКОРОСТЬ_X);
  if X_Объекта < mx then X_Объекта := mx;
end;

Y_Объекта := Round(X_Объекта * k);
Ну то есть этот код отвечает за движение объекта. Вопрос: почему это не работает? Объект движется неверно... Помогите пожалуйста. Как сделать по другому я не знаю.
Dalef вне форума Ответить с цитированием
Старый 01.10.2010, 16:58   #2
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Таймер движения есть? ...если кнопка зажата, будет выполняться код постоянно, и лавинно перемещать объект, даже вплоть до того, что просто исчезновение с экрана, поскольку пауз между сдвигами нет. Уточните.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 01.10.2010, 17:56   #3
Dalef
 
Регистрация: 15.05.2010
Сообщений: 9
По умолчанию

Код выполняется в таймере с небольшим интервалом.
Вот ещё недочёт есть в этом слабеньком алгоритме, что если по оси X не надо двигаться, а по Y надо, то получается движения никакого не будет.

Последний раз редактировалось Dalef; 01.10.2010 в 18:48.
Dalef вне форума Ответить с цитированием
Старый 04.10.2010, 16:11   #4
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Не совсем понятно зачем двигать объект именно по y=rx? Можете пояснить задачу? Еели нужно просто двигать объект то каждый цикл прибавляем к координате скорость и все.
Вадим Буренков вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добавить в объект объект. the_deer_one Общие вопросы C/C++ 7 10.09.2010 12:17
Как двигать картинку клавишами Naroto HTML и CSS 2 27.04.2010 15:32
как двигать точку на графике EXCEL? 666buster666 Microsoft Office Excel 6 07.03.2010 00:59
Как заставить ролик на мышке двигать полосой прокрутки clanz Microsoft Office Access 4 28.02.2010 16:41
RichEdit. как можно вставлять картинку туда? как можно Скрол програмно вниз двигать? Svop Компоненты Delphi 7 28.11.2006 21:07