Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.016 c
14-50446
kull
2003-05-29 15:43
2003.06.16
Интересный факт...


14-50498
dany
2003-05-30 23:48
2003.06.16
russian help


1-50395
Тфьу
2003-06-04 13:05
2003.06.16
Отрисовка линии Canvas в


7-50537
jonni
2003-04-12 22:50
2003.06.16
Как запретить открутие папки с файлами под Win98


1-50276
Johnyk
2003-06-04 15:37
2003.06.16
Инсталятор BDE