Текущий архив: 2003.06.16;
Скачать: CL | DM;
Вниз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;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c