Я вот ту уперся написал обработчик события нажатия на кнопку(17). Сообразил как повернуть и как передвинуть спрайт,а как зделать так чтоб этот спрайт сначала поворачивался(медленно) а потом двигался. Ну например нажал влево катринка повернулась в лево и поехала, нажал вправо повернулась на 180 и поехала вправо?
:dontknow: PS: извините что начал новую тему. :pardon: |
эта задача не из простых (как кажется), во первых нужно искать кротчайший путь поворота на заданный градус (что я не сделал), потом ввести дополнительные переменные, в одной хранить угол (можно прямо из спрайта брать) а другая для цели поворота...
Код:
graphics3d 800,600,32,2 |
:blink: МДЯ... :?? через неделю вернусь.
1.Что значит - (можно прямо из спрайта брать)? 2.Равно ли выражение ? Код:
PA#=0 Код:
PA1#=PA# |
В первом случае верно
Во втором PA1#=PA# т.е. переменной PA1# присваиваеш значение PA#, а PA#=PA1# наоборот. |
мммда, извини, заболтался я, из спрайта в блице никак угол поворота не возьмешь... это только с объекта... извини ещераз...
Код:
PA#=0 Код:
PA1#=PA# допустим PA=5 и PA1=3 PA1#=PA# теперь PA=5 и PA1=5 а после PA#=PA1# будет PA=3 и PA1=3 :) |
Чтобы не начинать аналогичную тему, хочу сказать и спросить!
Я, значится, собрался свой "Космос" сделать в 3д спрайтами (щас он полностью на 2д командах). Причины простые: прозрачность без внешних библиотек, поворот спрайтов, частицы (более реалистично можно сделать). Начал экспериментировать со спрайтами... Написал 2 примера (говорю на что надо обратить внимание): 1. Выводит на экран 1 рисунок (DrawImage) размером 32х32 точки Исползую команду Graphics 1024,768,32,1 - получаю 380 fps Исползую команду Graphics3D 1024,768,32,1 - получаю 1400 fps!!! 2. выводит на экран 1 спрайт - получаю около 700 fps Выходит, что рисунок выводится быстрее, причем в 3д режиме! После сделал вывод 1000 рисунков и 1000 спрайтов, опять же быстрее выводятся рисунки - соотв. 80 и 50 fps. Спрайты гружу с флагом 4, то есть с маской (список фильтров текстур очистил перед загрузкой). Примеров нет под рукой, выложу если надо при первой возможности. Так что я разочаровался в быстром 2д, которое на самом деле 3д |
Вопрос про спрайты: как убрать черный фон у спрайта, чтобы это получилось быстрее, чем после загрузки спрайта с флагом 4 ("с маской")? Маска тормозит конкретно! Почему?
Я сделал спрайту EntityBlend spr,2, то есть "смешивать умножением" (не знаю как правильно переводится), при этом подложил "под" этот спрайт белый (пустой) спрайт, чтобы смесь была нормальной, но спрайт в этом случае становится полупрозрачным, что нежелательно. Или даже так: как сделать так, чтобы цвета у спрайта соответствовали его текстуре? Если грузить без флагов, то цвета меняются до неузнаваемости. |
Жека я не совсем всё понял из ного что ты написал но то что, в 3D быстрее я уже убедился. Хотя интересно почему :( ведь 2D просчитывать проще :dontknow:
|
Подскажите как реализовать полоску здоровья над обьектом в 3D,
ну или там процент здоровья? :) |
берёшь камеру, для которой, идёт рендер - далее camera
берёшь объект, над которым будет надпись - далее obj Далее получаешь 2 координаты проекции 3д-мира на камеру Код:
CameraProject camera,entityx(obj),entityy(obj),entityz(obj) Можешь написать (учтя отступы), что-нибудь по этим координатам. |
Сформулируй по-точнее:
надписи должны быть над объектами даже когда они за препятствиями? только когда камера наведена на объект? и т.п. Так как рациональный алгоритм подбирается именно из этих условий |
я тут писал однажды похожий код, только там нужно было выводить имя героя (надеюсь доработать будет несложно)... просчитывается даже если герой будет за стенкой, то имя не показывается... юзается pick
Код:
; графический режим и буфер (как всегда) |
ну... это... камера
Код:
cam=CreateCamera() но не врагов а показателей 2 полоска времени (время действия призика) и уровень героя звёхдочками (ну.. скока уровень стока звезд) а припядствий за которые можно спрятатся нет |
Отличный пример я его гдето видел он у меня даже на HDD есть. храню мож пригодится ;) :super:
ну это не совсем 2D |
Часовой пояс GMT +4, время: 01:26. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot