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