Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Вниз

Sprite   Найти похожие ветки 

 
Fog   (2003-01-03 19:21) [0]

Дайте пожалуйста конкретный пример того как сделать так чтобы спрайт НЕ изчезал уходя за края.(DelphiX)


 
Ketmar   (2003-01-03 19:43) [1]

не выпускать его за края %-)

Satanas Nobiscum! 03-Jan-XXXVIII A.S.


 
Fog   (2003-01-03 20:03) [2]

Ну а если надо чтобы он уходил за края?


 
Ketmar   (2003-01-03 20:20) [3]

то тогда и вопрос задавать надо понятно. откуда мы знаем, что там за края такие?

Satanas Nobiscum! 03-Jan-XXXVIII A.S.


 
Fog   (2003-01-03 20:35) [4]

Края DXDraw"a.


 
Mirovodin   (2003-01-03 23:25) [5]

проверять координаты спрайта перед выводом, доп-м:

размер DX X(0;500) и Y(0;500)

Спрайт имеет координаты sprX и sprY

if (sprX>DX.X) or (sprX<0) - вышел за пределы X оси
так же для Y;


 
Fog   (2003-01-04 12:04) [6]

Подождите... У спрайта X,Y это его центр. Когда они уходят за приделы DXDraw"a спрайт исчезает. Как этого избежать. Чтобы спрайт уходил за края до последнего пиксела.


 
MRB_SPB   (2003-01-04 16:07) [7]

Невидел ещё описаного тобой случая насколько я знаю DXDraw физически сам по себе обрезает пиксели только за пределами области просмотра так что такого быть не может.
А примеров по исчезанию спрайиов почти каждый второй в поставке демок.


 
Владимир Васильев   (2003-01-04 16:47) [8]

>Подождите... У спрайта X,Y это его центр ......

Нет, это TOP-LEFT


 
Mirovodin   (2003-01-04 22:54) [9]

2 Fog ©
Правильно, само то обрезает но зачем рисовать спрайт с координатами X:=1000 Y:=1000l если в данный момент видно только окно (0,500; 0,300);


 
MRB_SPB   (2003-01-05 10:53) [10]

Рисовать конеxо незачем просто соответственно при уходе за правый край проверяем ScreenX<SpritreX
для левого края SpritreX+SpritreWidth>0
Для SpritreУ соответственно


 
JB   (2003-01-06 09:43) [11]

люди, а чё вообще надо-то.
Fog если тебе надо нипускать спрайт (это если гама типа tetris), то

if (spx>DXW) then spx:=DXW; //DXW - ширина твоего DXDraw"a,
//spx - координата спрайта;


 
Daddy   (2003-01-08 16:16) [12]

http://daddy.h1.ru/index.shtml?dxarticle4 :

Решение 1. В пропетиес DXDraw (при этих значениях работает)
Align = alClient
AutoSize = False
doFlip = False
doCenter = True
Значения SurfaceHeight и SurfaceWidth делаем больше значений Height и Width на ширину тайла

Решение 2. Сделать рамку с шириной в пол-спрайта.
Решение 3. Написать новую процедуру отрисовки, где вычисляется положение тайлов. Если хоть часть тайла видна, то рисуем спрайт.



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

Форум: "Игры";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
14-50473
OMen
2003-05-28 16:15
2003.06.16
Следует ли покупать Delphi7???


1-50342
Evg12
2003-06-03 15:44
2003.06.16
Динамическая работа с MainMenu1


14-50489
Piero
2003-05-30 13:42
2003.06.16
Где взять Delphi5 UpDate ?


14-50448
Ihor Osov'yak
2003-05-29 13:07
2003.06.16
РОССИЯНИН ШЕВЧЕНКО ПРИНЕС


1-50372
zsv
2003-06-04 08:50
2003.06.16
Клавиша F1





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский