adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
Кто разбирается в Си Билдер...
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 14-16    Заголовок сообщения: Кто разбирается в Си Билдер... Ответить с цитатой

Помогайте в общем суть проблемы такая
Есть допустим 10 объектов Timage например расположенных вот так... 1 2 3 4 5 6 7 8 9 10 и есть еще какой то объект (вероятнее всего тоже tImage ) который должен как бы пройти по всем 10 вышеописанным картинкам.. то есть что-то типа прошагать по каждой из картинки... появился на первой на других нет, потом на второй с первой исчез и так далее... как это сделать я не знаю подсказывайте..Smile заранее благодарен
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
BS
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 17-52    Заголовок сообщения: Ответить с цитатой

Копируешь оригенальное изображение в переменную.
Накладываешь картинку на изображение.
Потом возвращаешь оригинальное изображени и повторяешь операцию для следующей картнинки.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
Aprelle
Гуру
СообщениеДобавлено: Чт 19-03-09 : 18-05    Заголовок сообщения: Ответить с цитатой

Только мерцание будет, чтобы от него избавиться нужно графическую область заводить, копию в памяти, отрисовывать на копии, потом копировать из памяти в требуемую область.
в инете куча примеров.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 18-20    Заголовок сообщения: Ответить с цитатой

Aprelle писал(а):
Только мерцание будет, чтобы от него избавиться нужно графическую область заводить, копию в памяти, отрисовывать на копии, потом копировать из памяти в требуемую область.
в инете куча примеров.

эээ а можно какие нибудь конкретные ссылки на примеры??? а то у меня уже голова пухнет от всего этого Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Aprelle
Гуру
СообщениеДобавлено: Чт 19-03-09 : 19-06    Заголовок сообщения: Ответить с цитатой

Да пробуй как хотел, не заморачивайся, если голова пухнет.
Вот например спрайтовая графика:
http://mf.grsu.by/Kafedry/kaf001/academic_process/003/008

вот еще:
http://www.helloworld.ru/texts/comp/lang/builder/builder/7.htm

а самый известный пример со StretchDraw, CopyRect и BitBlt найти что-то не могу...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 19-16    Заголовок сообщения: Ответить с цитатой

да в том то и дело что я только так хотел Smile а как реализовать не знаю Smile поэтому и прошу совета Smile можно и другие способы, но чтобы суть оставалась той же Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Aprelle
Гуру
СообщениеДобавлено: Чт 19-03-09 : 19-26    Заголовок сообщения: Ответить с цитатой

вот здесь почитай
http://www.piter.com/attachment.php?barcode=978546901525&at=exc&n=0

а какая суть - ты так и не рассказал
суть - сделать анимацию или задействовать 10 объектов Timage ?
короче, по ссылкам все есть
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 19-39    Заголовок сообщения: Ответить с цитатой

суть в том что есть игрушка, что то на подобие монополии... и там на самом деле 40 объектов Timage и получается есть еще картинка маленькая, что то типа фишки, которая по сумме очков на кубике должна сделать n-ое количество шагов... вот эти шаги и нужно реализовать....
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Aprelle
Гуру
СообщениеДобавлено: Чт 19-03-09 : 19-58    Заголовок сообщения: Ответить с цитатой

Самый простой вариант - менять координаты TImage с фишкой, но и самый похабный...

делай как писали выше - присвоением картинки.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Wega
Гуру
СообщениеДобавлено: Чт 19-03-09 : 20-02    Заголовок сообщения: Ответить с цитатой

В данной ситуации я бы попробовал фишку-timage просто передвигать по координатам над полями. Попробуй, это проще, может результат устроит.

UPD. Aprelle, опередил).
Последний раз редактировалось: Wega (Чт 19-03-09 : 20-06), всего редактировалось 1 раз
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 20-05    Заголовок сообщения: Ответить с цитатой

Wega писал(а):
В данной ситуации я бы попробовал фишку-timage просто передвигать по координатам над полями. Попробуй, это проще, может результат устроит.
а уточнить можно??? что-то не совсем понимаю как... извините за тупость просто сижу с этим проектом уже несколько ночей... ничего не соображаю...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Aprelle
Гуру
СообщениеДобавлено: Чт 19-03-09 : 20-21    Заголовок сообщения: Ответить с цитатой

1)помести TImage с фишкой на форму
2)зайди в свойства, у нее есть координаты x и y (Left, Top или еще как)
3)Когда нужно переместить фишку - просто поменяй у данного TImage значения координат
4)Если нужно скрыть фишку - измени свойства ее видимости

На современных машинах должно все нормально работать, но когда-то, когда 3d-ускорители и оверлеи были не на каждой видюхе, работало на таких видюхах тормозно.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 20-31    Заголовок сообщения: Ответить с цитатой

точно... с координатами неплохой расклад ... сейчас буду смотреть... вопрос тогда в том зачем мне ее делать невидимой? верно ли я понимаю, что при измененнии координат у меня фишка просто передвинется с предыдущего места на новое ? соответственно со старого исчезнет по автомату...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Wega
Гуру
СообщениеДобавлено: Чт 19-03-09 : 20-33    Заголовок сообщения: Ответить с цитатой

leoboec
Вот пример, перемещения мышкой:
http://www.delphi.int.ru/articles/26/ внешка, алярм, алярм

Желательно делать перемещение в отдельном потоке.
Хотя ладно, по ссылке много лишнего, тебе надо в цикле
менять свойства Left и Top твоего объекта-фишки меняя их от начальной позиции, где была фишка к позиции где фишка должна быть. Если шаг принять за 1, то двигаться будет попиксельно, если шаг сделать равным размеру игрового поля, то будет "пробегать" поля. Можно перед каждым движением сделать паузу (усыпить текущий поток) для регулирования скорости перемещения, иначе фишка будет сильно быстро передвигаться.

UPD. Ссылка по Дельфи, но в Си Билдере должно быть также, ибо Борланд).
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
leoboec
Эксперт
СообщениеДобавлено: Чт 19-03-09 : 21-25    Заголовок сообщения: Ответить с цитатой

Wega
ага спасибо большое Smile сейчас посмотрим! у кого есть еще предложения или конкретные примеры кидайте Smile интересно все посмотреть Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
leoboec
Эксперт
СообщениеДобавлено: Вс 29-03-09 : 12-40    Заголовок сообщения: Ответить с цитатой

так еще один вопросик появился.... у меня на форме есть объект ListBox как сделать так, чтобы по одному щелчку мыши ничего не происходило.. даже не выбирались объекты а по двойному происходило действие(например открывается дополнительный компонент с информацией....)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
leoboec
Эксперт
СообщениеДобавлено: Пн 1-06-09 : 21-25    Заголовок сообщения: Ответить с цитатой

возник вопрос... у меня на форме есть картинка (если быть точным на объекте TPanel) и вот картинка у меня visible-> False по нажатию клавиши картинка делается visible->True НО... как мне сделать, чтобы картинка отображалась на определенных координатах... скажем 0 0 на Tpanel как задать координаты Smile))
------------------------------------------------------------------------------------
этот вопрос снят....
новый вопрос... у меня есть элемент TSTringGrid как мне в него после определенного действия что-нибудь записать?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы