Вверх ↑
Этот топик читают: Гость
Ответов: 9
Рейтинг: 4
#1: 2008-11-19 20:56:09 ЛС | профиль | цитата
Делаю курсовую по теме "Визуализация физических процессов в конструкторе программ Hiasm". И всё бы хорошо, но столкнулся с проблемой перемещения картинки (подгруженный gif летящего тела) на фоне другой картинки (фон, который тоже берётся из gif-файла) по заданным координатам. Делаю модель движения тела, брошенного под углом к горизонту. Целый день убил в попытках нарисовать шарик, который бы летел по точкам, оставляя за собой траекторию полета. Проблема в следующем. Если добавить элемент "Отображение картинок" (он же "Image") и задать координаты, то в пределах области этого прямоугольника можно вывести картинку, но за пределами никак. А точек для ввода координат у этого элемента нет - задаются только один раз вручную. У самой кратинки есть нужные точки, но она не может выйти за пределы этого элемента. И все бы ничего, но это поле непрозрачное и перекрывает собой фоновую картинку. Если бы можно было сделать его прозрачным размером со всё окно моей программы, а на нем уже гонять картинку, проблема была бы решена. Но как это сделать я не представляю. Может можно перемещать поле вместе с выводимой на нем картинкой, но как это сделать без постоянного ввода координат из цикла, я опять же не знаю. А делать летящий шарик через нарисованный эллипс крайне нежелательно, поскольку если здесь еще кое-как можно этим обойтись, то в следующих программах, моделирующих более сложные процессы, не получится. Помогите. Спасибо.
карма: 1

0
Ответов: 1161
Рейтинг: 160
#2: 2008-11-19 21:23:03 ЛС | профиль | цитата
Мимо шел писал(а):
курсовую по теме "Визуализация физических процессов в конструкторе программ Hiasm"

ухты, уже курсовые по Hiasm делают...
попробуй вот-так(типа поле Hiasm )
code_10710.txt
карма: 0

1
файлы: 1code_10710.txt [2.2KB] [370]
Голосовали:Мимо шел
Ответов: 8928
Рейтинг: 823
#3: 2008-11-19 21:41:48 ЛС | профиль | цитата
LainX, чтобы схема читалась, особенно "прохожими", надо не полениться расположить компоненты и линии code_10711.txt
карма: 19

1
файлы: 1code_10711.txt [2.2KB] [411]
Голосовали:Мимо шел
Ответов: 1161
Рейтинг: 160
#4: 2008-11-19 21:44:55 ЛС | профиль | цитата
Леонид писал(а):
LainX, чтобы схема читалась, особенно "прохожими", надо не полениться расположить компоненты и линии

это как понять, я что то это не понял...
карма: 0

0
Ответов: 8928
Рейтинг: 823
#5: 2008-11-19 21:50:23 ЛС | профиль | цитата
LainX, сравните Вашу схему и мою (тоже Вашу)
карма: 19

0
Ответов: 3514
Рейтинг: 184
#6: 2008-11-19 21:51:37 ЛС | профиль | цитата
Согласен. Схемы должны быть красивыми и легкочетаемыми
карма: 0
0
Ответов: 1161
Рейтинг: 160
#7: 2008-11-19 21:53:47 ЛС | профиль | цитата
просто у меня Hiasm староват и в нем много точек для формы...
карма: 0

0
Ответов: 8928
Рейтинг: 823
#8: 2008-11-19 21:57:21 ЛС | профиль | цитата
LainX, а подпись ?
карма: 19

0
Ответов: 1161
Рейтинг: 160
#9: 2008-11-19 22:22:23 ЛС | профиль | цитата
ну у меня стоит b172, вот только сообветственно
LainX писал(а):
Ваше ваше ваше лень обновиться

карма: 0

0
Ответов: 205
Рейтинг: 3
#10: 2008-11-20 00:16:46 ЛС | профиль | цитата
code_10714.txt
вот ещё примерчик правда из-за того что опыту мало ..! (как-то не закончено выглядит..)
вот хочется сделать чтобы тыкнул на картинку и потащил (перемещается) а после того как отпустил стоит

карма: 1

0
файлы: 1code_10714.txt [2.7KB] [339]
Разработчик
Ответов: 26163
Рейтинг: 2127
#11: 2008-11-20 00:47:45 ЛС | профиль | цитата
millano писал(а):
чтобы тыкнул на картинку и потащил (перемещается) а после того как отпустил стоит

В Memory 0 пропиши
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#12: 2008-11-20 13:47:24 ЛС | профиль | цитата
Мимо шел, а какое учебное заведение если не секрет?

задачу можно решить так:
code_10720.txt

объекты в примере двигаются с условием притяжения планеты, но не с 0.9g. Разброс угла полета на начальные ускорения по векторам X и Y делать не стал - думаю и так понятно куда их вставить. Удаление упавших на землю обхектов так же не сделано ради упрощения примера. Картинки можно заменить на свои без изменения схемы

------------ Дoбавленo:


хотелось бы так же отметить, что для рисования нужно использовать PaintBox, а не Image если не хотим иметь проблем с отрисовкой сцены.
карма: 27
1
файлы: 1code_10720.txt [4.5KB] [425]
Голосовали:Мимо шел
Ответов: 9
Рейтинг: 4
#13: 2008-11-20 14:14:01 ЛС | профиль | цитата
LainX - Спасибо, работает! Это именно то, что нужно.
Леонид - Тоже спасибо. Так покрасивше.
.
А как в HiAsm`е снять ограничение на размер картинки для компонента "Bitmap: Хранение картинки в памяти"? На маленькие они заменяются, а вот на gif размера 600х360 уже нет, хотя он весит всего 4 КБ. Видимо не на вес, а на размер ограничение. При компиляции пишет, что у файла неизвестный формат. Увеличивал длину и ширину компонента "Image: Отображение картинок" - не помогает. Пробовал и bmp - то же самое. Вот цитата отладчика после замены картиинки на 600х360:



Compiling resource D:ProgramsHiAsmElementsdelphicodeallres.res
Linking D:ProgramsШедевры1.exe
1.pas(217,1) Error: Error while linking
Closing script D:ProgramsШедеврыppas.bat
Error: D:ProgramsHiAsmcompilerfpcppc386.exe returned an error exitcode (normal if you did not specifiy a source file to be compiled)
D:ProgramsHiAsmElementsdelphicodeallres.or: file not recognized: File format not recognized
End build
карма: 1

0
Ответов: 3514
Рейтинг: 184
#14: 2008-11-20 14:19:27 ЛС | профиль | цитата
Видимо не работает под FPC
карма: 0
0
Ответов: 1161
Рейтинг: 160
#15: 2008-11-20 14:21:48 ЛС | профиль | цитата
Мимо шел писал(а):
compilerfpcppc386.exe

не видимо, а так точно...
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)