Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/40: Рейтинг темы: голосов - 40, средняя оценка - 4.68
2 / 2 / 0
Регистрация: 05.03.2009
Сообщений: 33

Перемещение объекта по траектории

07.06.2009, 23:31. Показов 8289. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем нужно реализовать чтобы один объект (в даном случае шарик) двигался к другому по заданой траектории.
Предполагается, что этот объект будет image
Помогите такое реализовать.

Вот схема того как это должно быть:
Миниатюры
Перемещение объекта по траектории  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2009, 23:31
Ответы с готовыми решениями:

Движение объекта по траектории
Здравствуйте, подскажите пожалуйста, используя объект класса TShape, как организовать движение квадрата по ступенчатой траектории при...

Движение объекта по заданной траектории
всем привет... написал класс который рисует круг и двигается с лева на право.. но мне надо чтобы он двигался по определенной траектории (с...

Перемещение объекта к месту клика
Как переместить объект(например image) к месту клика?(нужно именно переместить с определенной скоростью,а не телепортировать) Заранее...

7
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
08.06.2009, 01:46
у имейджа-шарика свойства Top и Left менять соответственно желаемой траектории. Только лучше не в цикле, а по событию таймера, установленного на 10 мс.
Если в цикле - то надо Repaint каждый раз вызывать.
Вся проблема в том, как хранить требуемые значения точек. Тут два пути: векторный и растровый.
1)хранить формулу кривой, по которой движется шарик, и каждый раз высчитывать новые значения.
2)хранить массив заранее заданных точек (например в файле) и читать по мере необходимости.
Если пойти по второму пути - то возникает вопрос как создать оный файл. Тут уже воля для фантазии. Как вариант - можно сделать подобие инструмента "карандаш" в пэинте. Рисовать чёрным на белом. Потом анализировать рисунок и все точки, имеющие чёрный цвет, считать точками траэктории.
0
2 / 2 / 0
Регистрация: 05.03.2009
Сообщений: 33
08.06.2009, 11:41  [ТС]
Кхм... Не помешала бы маленькая помощь в реализации этого...
Или хотя бы примерчик...
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
08.06.2009, 13:04
Вот тебе примерчик накатал. Только на C++ Builder(Дельфей у меня нету, и я их не знаю), но техника та же.
Вложения
Тип файла: rar Traektoria.rar (247.2 Кб, 324 просмотров)
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
08.06.2009, 13:06
Такой вот скриншот.
Миниатюры
Перемещение объекта по траектории  
0
2 / 2 / 0
Регистрация: 05.03.2009
Сообщений: 33
08.06.2009, 13:27  [ТС]
Ну все теперь осложняется тем, что я C++ не знаю...
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
08.06.2009, 13:43
Увы. Тогда ничем помочь не могу.
0
2 / 2 / 0
Регистрация: 05.03.2009
Сообщений: 33
15.06.2009, 20:09  [ТС]
Вот код на движении объекта по траектории:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
type
 TCoord=record
   left, top:integer;
end;
 
var
 Coords:array[1..10] of TCoord;
 
procedure TForm1.FormCreate(Sender: TObject);
var
j:integer;
begin
 for j:=1 to 100 do
 begin
   coords[j].left:=j;
   coords[j].top:=j;
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
j:integer;
begin
for j:=1 to 100 do
 begin
   label1.left:=j;
   label1.top:=j;
   //sleep(5);
  end; 
end;
 
end.

Помогите сделать, чтобы координаты по которым должен двигаться объект брались из внешнего текстового файла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2009, 20:09
Помогаю со студенческими работами здесь

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

Задать перемещение объекта по траектории, повторяющей его форму
задать перемещение объекта по траектории, повторяющую его форму. На каждом углу поворота объект должен поворачиваться в сторону...

Перемещение изображения по произвольной траектории
Создать графический объект и организовать его беспрерывное движение по произвольной траектории. Расположить на экране объекты-препятствия,...

Перемещение изображения по заданной траектории
У меня вот такое задание: открыть изображение из файла и переместить его по экрану по заданной траектории из правого нижнего угла в левый...

перемещение объектов по случайной траектории
Подскажите как реализовать перемещение объектов по случайной траектории с шагом не более 20 пикселей.. Именно в этом шаге и проблема. Он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru