Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Image мигает при передвижении   Найти похожие ветки 

 
Genri   (2002-06-16 01:10) [0]

Помогите,пожайлуста!
Компонент Image при движении по форме (при помощи таймера)
очень некрасиво мигает. Я делаю игрушку, но на этом моменте застопорился. Может быть, кто-нибудь знает решение этой проблемы, или компонент какой для замены image"а.
Буду очень благодарен!


 
ZEE ©   (2002-06-16 01:38) [1]

Зайди на DelphiGFX (см. вверху, справа) - там много всего о графике на Дельфях и про создание игрушек тоже...


 
Doom ©   (2002-06-16 20:48) [2]

можешь просто использовать PaintBox


 
Kern   (2002-06-22 10:50) [3]

Используй функцию BitBlt и ничего моргать не будет! :)


 
INCOGNITO ©   (2002-06-22 22:45) [4]

А каку эту функцию использовать?


 
Gandalf   (2002-06-23 11:35) [5]

Ты порой пугаешь
BitBlt(Image1.Canvas.Handle,x,y,w,h,SuperBitMap.Canvas.Handle,x2,y2,SRCCOPY); если память не изменяет, поэкспериментируй.


 
INCOGNITO ©   (2002-06-24 00:18) [6]

Это как я понял для TBitMap, а тут говорится о TImage
Хеееелп!


 
SI-riuss ©   (2002-06-24 10:27) [7]

У меня была та же проблема.
Вот линк: http://g32.org/graphics32/index.html
Скачай от сюда компоненту graphics32 и проблема отпадет.


 
Kaban ©   (2002-06-24 10:34) [8]

Если руки не кривые, то ничего мигать не должно. Если для человека проблема применить ответ данный для TBitMap к TImage, то тут уже ничем не поможешь


 
Сергей Чурсин   (2002-06-24 10:42) [9]

Еще раз:
Form.DoubleBuffered:=true - чтоб не мигало.



 
SI-riuss ©   (2002-06-24 11:22) [10]

--> Kaban
Image не самых малых размеров при перемещении мигать будет.


 
Kaban ©   (2002-06-24 11:34) [11]

Не самых малых это каких, можно спросить?


 
Gandalf   (2002-06-24 12:27) [12]

>для TBitMap, а тут говорится о TImage
Насколько помню у TImage есть TBitMap:
MyImage.Picture.Bitmap...
>Image не самых малых размеров при перемещении мигать будет.
Будет, но кто же большие Image пользует для игр? Я не навязываю, но может тебе что нибуть другое использовать. Image это так, неподвижную картинку в design-time поместить для украшательства, и не трогать не двигать.


 
SI-riuss ©   (2002-06-24 17:12) [13]

Каких-каких.
Помести пикчуру 100*100 на другую чуть поболее, и поставь ей цикл на движение и ты увидишь гирлянду.


 
Kaban ©   (2002-06-25 09:43) [14]

Не уверен, я когда делал редактор графов, у меня весь экран перерисовывался. Допустип есть 50 вершин, все соединены друг с другом. При перетаскивании любой вершины нужно тянуть за собой все 49 ребер. Никаких миганий не было. Так что не надо меня лечить.


 
Ich Hasse ©   (2002-06-25 15:47) [15]

Все работает через TImage и не надо тут ничего говорить. У меня игра написана через TImage и все нормально!!!


 
SI-riuss ©   (2002-06-26 00:35) [16]

--> Kaban
Я не понял, какие 50 вершин?
Кладешь TImage один на другой и перемещаешь. Какие тут вершины?

--> Ich Hasse
Может у вас мощнейший проц? Супермаленькие картинки? А может просто вас такое качество отображения вполне устраивает? Но так делать неправильно, т.к. должен перерисовываться весь экран целиком и одновременно, иначе человек, у кого комп послабее в такую лажу играть не будет!


 
Kaban ©   (2002-06-26 11:49) [17]

а может это у вас просто ручки кривые
Вот, например, объясните мне зачем поверх одного Image кидать другой и перемещать его


 
Ich Hasse ©   (2002-06-26 16:24) [18]

Не знаю моя игра шла и на 133 и ничего!!! Так что просто видимо РУКИ КРИВЫЕ


 
SI-riuss ©   (2002-06-27 02:50) [19]

-->Kaban, Ich Hasse

А что мне с вами спорить! Прочтите исходное (первое) сообщение, и ему доказывайте, что у него не должно быть. Так есть!


 
SergeyKatruk ©   (2002-11-26 20:10) [20]

В общем если менять координаты TImage - то действительно мигает, если использовать CopyRect формы - то нормально ;)


 
_PG_   (2003-02-08 12:53) [21]

Я тоже делал игрушку, но не сосвсем премещением TImage, а прорисовывая на TImage 100 рисунков. Тоже моргала. Написал под с использованием DElphiX - прекрасно работает (там многое делается на Тймере,как у тебя.)


 
Omar2002 ©   (2003-02-13 13:21) [22]

А может не надо Image двигать А? Может попробуешь сделать один БААЛЬШОЙ Image и двигать картинку в нем. Ой черт не бейте меня! Меня подставили!


 
Dabus   (2003-02-25 04:55) [23]

Form.DoubleBuffered:=true - для TImage самый верный способ. Но в любом случае чистый TImage это медленно. Это тебе не Canvas! Хотя со свойствами TImage напрямую, работать весьма удобно.


 
Kobik   (2003-02-26 20:14) [24]

Да... Была как-то и у меня игрулина на 25 Image-в.... Зачем же так извращаться???


 
Mihey   (2003-02-26 23:28) [25]

Вот так всегда. Делают игрушки на TImage. Разве так можно????


 
TButton ©   (2003-02-28 08:10) [26]

К вопросу о Имадже.
Design-time имадж был 100х100. Как run-time сделать его 200х200?


 
Mef88   (2003-02-28 11:05) [27]

Как можно писать игры на TImage?! Я лично начинал с DelphiX...


 
Mihey   (2003-02-28 21:48) [28]

2 Mef88:
Правильно, согласен полностью. Но неумелый народ так и прёт на TImage.


 
Dabus   (2003-03-02 00:33) [29]

Что бы вообще не мигало, и от мышки не тормозиоло хорошо все на OpenGl делать. Ну так что, всем неумелым на OpenGl или сразу в asm переходить ???


 
Alecsander4   (2003-03-02 08:51) [30]

Используй Canv,у


 
Yura   (2003-03-25 22:48) [31]

OpenGL,DirectDraw - не будет мигать!!
покупай книжку Михаил Краснов "DirectX в проектах Delphi"
"OpenGL в проектах Delphi"


 
Kobik ©   (2003-04-02 20:35) [32]

2Yura
Это реклама?

Кстати класная книжка "DirectX в проектах Delphi"


 
Плохой человек   (2003-04-02 21:10) [33]

Если что простенькое творите, то используйте Graphic32.



Страницы: 1 вся ветка

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.017 c
7-18650
DAT
2003-07-22 16:11
2003.10.06
Параметры печати, установки принтера, свойства документа?


6-18513
Hawk
2003-07-12 16:08
2003.10.06
Измерение иходящего трафика


1-18301
ghg
2003-09-24 08:51
2003.10.06
получение имени файла запустившего приложение


4-18667
deadman
2003-08-01 10:24
2003.10.06
какое сообщение?


3-18234
P0tia
2003-09-16 21:43
2003.10.06
Как проверить?