Автор |
Сообщение |
leoboec Эксперт |
|
Помогайте в общем суть проблемы такая
Есть допустим 10 объектов Timage например расположенных вот так... 1 2 3 4 5 6 7 8 9 10 и есть еще какой то объект (вероятнее всего тоже tImage ) который должен как бы пройти по всем 10 вышеописанным картинкам.. то есть что-то типа прошагать по каждой из картинки... появился на первой на других нет, потом на второй с первой исчез и так далее... как это сделать я не знаю подсказывайте.. заранее благодарен |
|
|
|
|
BS Эксперт |
|
Копируешь оригенальное изображение в переменную.
Накладываешь картинку на изображение.
Потом возвращаешь оригинальное изображени и повторяешь операцию для следующей картнинки. |
|
|
|
|
Aprelle Гуру |
|
Только мерцание будет, чтобы от него избавиться нужно графическую область заводить, копию в памяти, отрисовывать на копии, потом копировать из памяти в требуемую область.
в инете куча примеров. |
|
|
|
|
leoboec Эксперт |
|
Aprelle писал(а): |
Только мерцание будет, чтобы от него избавиться нужно графическую область заводить, копию в памяти, отрисовывать на копии, потом копировать из памяти в требуемую область.
в инете куча примеров. |
эээ а можно какие нибудь конкретные ссылки на примеры??? а то у меня уже голова пухнет от всего этого |
|
|
|
|
Aprelle Гуру |
|
|
|
|
leoboec Эксперт |
|
да в том то и дело что я только так хотел а как реализовать не знаю поэтому и прошу совета можно и другие способы, но чтобы суть оставалась той же |
|
|
|
|
Aprelle Гуру |
|
|
|
|
leoboec Эксперт |
|
суть в том что есть игрушка, что то на подобие монополии... и там на самом деле 40 объектов Timage и получается есть еще картинка маленькая, что то типа фишки, которая по сумме очков на кубике должна сделать n-ое количество шагов... вот эти шаги и нужно реализовать.... |
|
|
|
|
Aprelle Гуру |
|
Самый простой вариант - менять координаты TImage с фишкой, но и самый похабный...
делай как писали выше - присвоением картинки. |
|
|
|
|
Wega Гуру |
|
В данной ситуации я бы попробовал фишку-timage просто передвигать по координатам над полями. Попробуй, это проще, может результат устроит.
UPD. Aprelle, опередил).Последний раз редактировалось: Wega (Чт 19-03-09 : 20-06), всего редактировалось 1 раз |
|
|
|
|
leoboec Эксперт |
|
Wega писал(а): |
В данной ситуации я бы попробовал фишку-timage просто передвигать по координатам над полями. Попробуй, это проще, может результат устроит. |
а уточнить можно??? что-то не совсем понимаю как... извините за тупость просто сижу с этим проектом уже несколько ночей... ничего не соображаю... |
|
|
|
|
Aprelle Гуру |
|
1)помести TImage с фишкой на форму
2)зайди в свойства, у нее есть координаты x и y (Left, Top или еще как)
3)Когда нужно переместить фишку - просто поменяй у данного TImage значения координат
4)Если нужно скрыть фишку - измени свойства ее видимости
На современных машинах должно все нормально работать, но когда-то, когда 3d-ускорители и оверлеи были не на каждой видюхе, работало на таких видюхах тормозно. |
|
|
|
|
leoboec Эксперт |
|
точно... с координатами неплохой расклад ... сейчас буду смотреть... вопрос тогда в том зачем мне ее делать невидимой? верно ли я понимаю, что при измененнии координат у меня фишка просто передвинется с предыдущего места на новое ? соответственно со старого исчезнет по автомату... |
|
|
|
|
Wega Гуру |
|
leoboec
Вот пример, перемещения мышкой:
http://www.delphi.int.ru/articles/26/ внешка, алярм, алярм
Желательно делать перемещение в отдельном потоке.
Хотя ладно, по ссылке много лишнего, тебе надо в цикле
менять свойства Left и Top твоего объекта-фишки меняя их от начальной позиции, где была фишка к позиции где фишка должна быть. Если шаг принять за 1, то двигаться будет попиксельно, если шаг сделать равным размеру игрового поля, то будет "пробегать" поля. Можно перед каждым движением сделать паузу (усыпить текущий поток) для регулирования скорости перемещения, иначе фишка будет сильно быстро передвигаться.
UPD. Ссылка по Дельфи, но в Си Билдере должно быть также, ибо Борланд). |
|
|
|
|
leoboec Эксперт |
|
Wega
ага спасибо большое сейчас посмотрим! у кого есть еще предложения или конкретные примеры кидайте интересно все посмотреть |
|
|
|
|
leoboec Эксперт |
|
так еще один вопросик появился.... у меня на форме есть объект ListBox как сделать так, чтобы по одному щелчку мыши ничего не происходило.. даже не выбирались объекты а по двойному происходило действие(например открывается дополнительный компонент с информацией....) |
|
|
|
|
leoboec Эксперт |
|
возник вопрос... у меня на форме есть картинка (если быть точным на объекте TPanel) и вот картинка у меня visible-> False по нажатию клавиши картинка делается visible->True НО... как мне сделать, чтобы картинка отображалась на определенных координатах... скажем 0 0 на Tpanel как задать координаты ))
------------------------------------------------------------------------------------
этот вопрос снят....
новый вопрос... у меня есть элемент TSTringGrid как мне в него после определенного действия что-нибудь записать? |
|
|
|
|
|