|
7 / 7 / 1
Регистрация: 20.04.2011
Сообщений: 69
|
|
Движение объекта по диагонали07.08.2012, 18:05. Показов 12386. Ответов 12
Метки нет (Все метки)
Всем привет.
Пишу маленькое приложение: картинка летает за мышкой. Никак не могу реализовать перемещение Image, в котором и находится картинка, по диагонали. Нужно менять X и Y равномерно, чтобы Image двигался к текущему положению курсора по кратчайшему пути. Как это можно сделать?
0
|
|
| 07.08.2012, 18:05 | |
|
Ответы с готовыми решениями:
12
Движение объекта в 2D. Помогите сделать прыжок Движение графического объекта по траектории и его вращение |
|
|
||||||
| 07.08.2012, 18:40 | ||||||
0
|
||||||
|
7 / 7 / 1
Регистрация: 20.04.2011
Сообщений: 69
|
|
| 07.08.2012, 19:16 [ТС] | |
|
Видимо я плохо объяснил, что именно мне нужно. Картинка не приклеена к курсору, она следует за ним с опозданием, как бы догоняя его. Может кто-то помнит старое приложение: винни-пух летит на воздушном шаре по рабочему столу вслед за мышкой? Вот я пишу нечто подобное.
0
|
|
|
49 / 44 / 8
Регистрация: 06.09.2010
Сообщений: 419
|
||||||
| 07.08.2012, 22:25 | ||||||
|
Чтобы движение было по диагонали, ты добавляешь к У и Х одно и тоже число.
0
|
||||||
| 07.08.2012, 23:53 | ||||||
|
Ставь таймер на форму
1
|
||||||
|
|
||||||
| 08.08.2012, 09:04 | ||||||
|
Как-то так (использовал Label вместо картинки):
2
|
||||||
|
7 / 7 / 1
Регистрация: 20.04.2011
Сообщений: 69
|
|
| 08.08.2012, 18:05 [ТС] | |
|
Итак, ближе всего оказался вариант kzru_hunter'a, однако всё равно не то, что нужно. Да, объект движется плавно, догоняя курсор. Но вот путь его идет по кривой, а нужно по диагонали прямоугольника, образованного точкой позиции курсора и точкой позиции объекта (Label или Image, как угодно).
См. вложения: Точка А - текущая позиция Image; точка B - текущая позиция курсора (эта же точка будет конечной для Image). Если менять положение Image по рецепту kzru_hunter'а, то картинка сначала попадёт в точку С, а уже потом в В, что нежелательно. Движение объекта должно идти по прямой АВ. Я пробовал воспользоваться формулой y=tg*x (уравнение прямой), но свойства Left и Top - целоисчислительные, а потому значения получаются неточными или не получаются вообще. Да и вообще я запутался с этим методом. Мне интересно, есть ещё какие-нибудь идеи на этот счёт?
0
|
|
| 08.08.2012, 20:13 | ||||||
|
MatrixDeity, Если я тебя понял тебе нужно движение имэги из точки А сразу в точку B. Тогда тебе нужно учитывать коэффициент скорости на каждой оси.
Например. Квадрат по оси X 1 и по оси Y тоже 1. Получим движение точно по диагонали. Если будет прямоугольник со одной стороны (по X) в 2 раза больше чем с другой (по Y), то по оси X скорость должна быть больше в 2 раза. Дели длину большей стороны на длину меньшей стороны. Получишь коэффициент. Добавлено через 46 минут Исходный код kzru_hunter.
2
|
||||||
|
|
||||||
| 08.08.2012, 20:51 | ||||||
Сообщение было отмечено как решение
Решение
Вот рабочий код:
4
|
||||||
|
7 / 7 / 1
Регистрация: 20.04.2011
Сообщений: 69
|
|
| 09.08.2012, 19:12 [ТС] | |
|
kzru_hunter, Всё отлично работает. Спасибо
0
|
|
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
|
| 18.11.2012, 23:53 | |
|
Если нужно у меня есть исходник шар летит всегда в лузу, независимо где шар находится а где луза.
0
|
|
|
|
|
| 19.11.2012, 00:49 | |
|
нужно
0
|
|
|
Tierey
|
|
| 12.07.2013, 01:06 | |
|
kzru_hunter госпади спасибо тебе добрый человек я уже думал что помру пока придумаю как это запилить.
|
|
| 12.07.2013, 01:06 | |
|
Помогаю со студенческими работами здесь
13
Движение объекта по диагонали C++ и OpenGL движение объекта по диагонали Возможно ли сделать движение зрачков, реагирующее на движение какого-либо объекта Сформировать меню: 1) свободное движение объекта 2)движение с клавиатуры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|