Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 14.03.2010, 14:12   #1
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Позиция спрайта относительно координат экрана

Скажите пожалуйста. Можно ли как-то размещать спрайты исспользуя координаты экрана? Например что бы спрайт рисовался на удалении 10 пунктов от камеры и его центр был бы расположен как бы в координатах например х-500 и у-600 экрана?

Просто делаю меню боя аля FF8, drawimage не подходит так как меню должна быть одного и того же размера и в одном и том же месте независимо от разрешения, а при скейлинге изображения маска ломается, некоторые пиксели маски слегка меняют цвет и становятся видемы.( Или может можно как-то избежать искажения маски при растягивании и уменьшении изображения?
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 14:45   #2
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Позиция спрайта относительно координат экрана

Может стоит использовать FastImage?
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 14:57   #3
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Позиция спрайта относительно координат экрана

нужно разместить спрайт на расстояние 1 от камеры и отмасштабировать в зависимости от соотношения разрешения
__________________
299 792 458
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 14:59   #4
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Позиция спрайта относительно координат экрана

;Функция создает квад под размер экрана
;параметры: сурфейс, зум камеры, фокусное расстояние до квада
Function CreateCamQuad(surf%, zoom# = 1.0, near# = 1.0)
    Local xscr%, yscr%, xcnt%, ycnt%, xpos#, ypos#, i%[4]
    ;размеры экрана
    xscr = GraphicsWidth()
    yscr = GraphicsHeight()
    ;координаты центра экрана
    xcnt = xscr Shr 1
    ycnt = yscr Shr 1
    ;проекция левого верхнего угла
    xpos = (   0 - xcnt) * near / +zoom / xcnt
    ypos = (   0 - ycnt) * near / -zoom / xcnt
    i[0] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
    ;проекция правого верхнего угла
    xpos = (xscr - xcnt) * near / +zoom / xcnt
    ypos = (   0 - ycnt) * near / -zoom / xcnt
    i[1] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
    ;проекция правого нижнего угла
    xpos = (xscr - xcnt) * near / +zoom / xcnt
    ypos = (yscr - ycnt) * near / -zoom / xcnt
    i[2] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
    ;проекция левого нижнего угла
    xpos = (   0 - xcnt) * near / +zoom / xcnt
    ypos = (yscr - ycnt) * near / -zoom / xcnt
    i[3] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
    AddTriangle(surf, i[0], i[1], i[2])
    AddTriangle(surf, i[2], i[3], i[0])
    Return i[0]
End Function
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
No09 (13.01.2015)
Старый 14.03.2010, 15:00   #5
battou
Нуждающийся
 
Регистрация: 19.01.2007
Сообщений: 75
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Позиция спрайта относительно координат экрана

У мня понимаешь как, надо что бы при выборе пункта например "Предметы" вырисовывались спрайты в столбец на экране в зависимости от того какие есть предметы. Не очень хочется исспользовать десятые доли процента от высоты экрана длёные ещё на что-то и на это что-то сдвигать по у новый спрайт, помоему это лишняя нагрузка. А исспользовать платную либу из-за одной менюшки в боевой сцене тоже как-то не хочется. Других вариантов нет никаких? Если нет - буду делать спрайты с долями от экрана.
(Offline)
 
Ответить с цитированием
Старый 14.03.2010, 16:53   #6
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Позиция спрайта относительно координат экрана

Других вариантов на чистом блице нет, т.к. в нём нет органов управления мешами без трансформации.
Поэтому либо так, через зад, либо использовать либы-врапперы DrawIndexedPrimitive, например, FastImage.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 08:37   #7
SKA_DIMKA
ПроЭктировщик
 
Аватар для SKA_DIMKA
 
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений
(для 53 пользователей)
Ответ: Позиция спрайта относительно координат экрана

Думаю всетаки можно написать функцию по отрисовке...Но легче использовать тот же FastImage..

вот так можно отрисовать спрайт на весь экран независимо от разрешения
на расстоянии (pos#) равное 10.0


pos#=10.0
s=createsprite()
positionentity s,0,0,pos#
scalesprite s,pos#,pos#
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 16:19   #8
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Позиция спрайта относительно координат экрана

Гдето была "библа" Engine2d или как то так ,
Alpha поворот и тд
бесплатна
кому будет интересно могу поискать
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 21:01   #9
L.D.M.T.
Бывалый
 
Аватар для L.D.M.T.
 
Регистрация: 10.06.2006
Сообщений: 808
Написано 354 полезных сообщений
(для 832 пользователей)
Ответ: Позиция спрайта относительно координат экрана

юзай тогда Draw3d - немецкий аналог Fastimage (написан на чистом блиц + бесплатность), ссылку я где-то здесь уже выкладывал...
__________________
Per Aspera Ad Astra...
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 21:16   #10
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Позиция спрайта относительно координат экрана

Через чистый блиц - это "трансформация обратно", что, имхо, некошерно.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Dream (15.03.2010), Randomize (23.03.2010)
Старый 23.03.2010, 06:07   #11
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: Позиция спрайта относительно координат экрана

http://www.blitzbasic.com/Community/...hp?topic=75362
Тыц.
Есть ещё такие пироги:
http://homepage.ntlworld.com/config/...itecontrol.htm
Там есть все ответы на твои вопросы.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 23.03.2010, 12:08   #12
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Позиция спрайта относительно координат экрана

лучше Draw3D (после FastImage) не найти) Пользуйтесь ею)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:28.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com