![]() |
Уже наболевшее..
Доброго времени суток)
Речь пойдёт о прыжке, плавном прыжке.. Знаю, да, такие темы есть, всё описано, но так как написано в других темах, тупняк, заканчиваеца всё тем что каждый друг другу говорит что у нево неправильно, выкладывая свой неправильный пример и тд... Вообщем я блиц юзаю около суток, поделал всякие примеры, понял принцип работы, делал фпс по уроку http://blitzetc.blitzmax.ru/index.ph...Person_Shooter , там в конце есть описание прыжка, но лучше сделать игру без прыжка чем с таким... Видел тут темку "плавный прыжок" Код:
Function UpdateJump(MovEnt,ObjFrom,JH) За день пересмотрел много кодов прыжка, принцып понял, реализовать немогу, копипастить неумею, в моём примере не работает:)))) Да я нуб в блице, прошу помощщи)) |
Ответ: Уже наболевшее..
Вложений: 1
Чел, я ж уже давал пример (выложу тут, может, кому-то поможет):
Вложение 4550 Тут все имхо понятно. Есть вектор направления прыжка, который описывается всего одной переменной (т.к. прыжок происходит только по оси Y). Когда игрок хочет прыгать, задаём этому вектору большое значение. Этот вектор меняется в соответствии с силой тяжести (просто вычитаем каждый цикл из вектора число N) И каждый цикл перемещаем игрока по этому вектору. В результате игрок летит по параболе. Когда игрок коллизится с землёй, перестаём его перемещать по вектору прыжка ибо он уже не прыгает. Вообще, это элементарная кинематика из курса физики средней школы. Ну что непонятного? З.Ы. у тебя переменная jump_speed не дробная, потому и не получается. 0.51 округляется до 1, а всё, что меньше - до 0 надо так объявлять при первом использовании jump_speed#=..... |
Ответ: Уже наболевшее..
Samarik
ты просто делаешь особую программерскую магию :lol: |
Ответ: Уже наболевшее..
Вложений: 1
Вот писал когда-то, баловался. Там есть приличный прыжок от первого лица, можешь оттуда взять посмотреть.
|
Ответ: Уже наболевшее..
H@NON, прыжок действительно приличный) :super:
Особенно когда чел приседает перед прыжком чтобы сильнее оттолкнуться. Надо взять на заметку. |
Ответ: Уже наболевшее..
Цитата:
H@NON, пасибо ща заценим..) Всё, сори за шорох, разобрался, H@NON, в блице як таким кодам ещё не привык, так что пока не лез туда, но прыжок прикольный;) АВТАМАТ, нащёт "jump_speed#" спс, оно мне и помогло, норм прыжок теперь:) |
Ответ: Уже наболевшее..
небуду сорить в форуме, напишу тут..
у меня проблема с реализацией частиц, проблема состоит в том что я немогу сделать так чтоб частицы летели из бота, в которого я попал. создал я частицы, они работают, создал условие что при коллизии пули с ботом летят частицы, всё это работает.. добился того что при колизии пули с ботом вылазит ошибка "ентити даз нот ексист.." ну эт када я пробовал с командами EntityX(Bot),y,z и тд.. выложу код частиц Код:
Type blood_particle bot_h=EntityCollided(a\entity,BOTT) If bot_h Create_Blood(EntityX(Bot),EntityY(Bot),EntityZ(Bot ),100) ну, это уже я эксперементировал с тем что неполучаеца:))) забыл упоммянуть, скок раз непытался реализовать частицы леели с центра координат сцены.. |
Ответ: Уже наболевшее..
делай так:
If bot_h<>0 then Create_Blood(EntityX(bot_h,1),EntityY(bot_h,1),Ent ityZ(bot_h,1 ),100) Команда EntityCollided() возвращает ентити, с которым столкнулись. |
Ответ: Уже наболевшее..
спасибо большое;)
|
Ответ: Уже наболевшее..
Цитата:
По идее если сколлизился Bot_h то и создавать нужно по его координатам а не по какому-то Bot |
Ответ: Уже наболевшее..
Пример обработки снарядов, только вместо коллизии ентитипик.
Код:
Function UpdateIonShot() Код:
Function CrtPShotSpark(boat,vecy=0,vecp=0,ang=0,spd#=3,min#=2,max#=4) |
Ответ: Уже наболевшее..
помойму вместо:
Цитата:
For n = 1 to 6 CtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPi tch(all\mesh),20) Next ;) |
Ответ: Уже наболевшее..
Цитата:
|
Ответ: Уже наболевшее..
Цитата:
ещё один фокус.... эта.. ну.эта:) хачу немного теории.. вот бегаю я бью кубики.. толком нич в игре нет, в том числе и толком игры. 59-60 фпс, колеблица, тока поставлю Flip(0) то фпс 1к+ вот это, оно что такова делает, когда просто флип, стабилизируется фпс в проге? или обьясните мне что это такое..:) и ещё вот, заметил, то что у мня было зa-delta_time-ировано:), работает нормально как при 1к так и при 60фпс, а вот кодик с пыжком неполучаеца уравновесить, *delta_time "пихал" уже куда угодно, настройки мутил, пробовал разные комбинации, немогу никак стабилизировать чтоб было как при 60 так и при 1к фпс.. Код:
Function UpdateJump(MovEnt,ObjFrom,JH#) или на словах обьясните, чтоб следующую мою проблему (а она есть) чтоб уже сам решил:) |
Ответ: Уже наболевшее..
Вложений: 1
Flip 1 - вертикальная синхронизация, Flip 0 - отсутствие оной.
Код:
Function UpdateJump(MovEnt,ObjFrom,JH#) Вот ещё семпл наваял: |
Ответ: Уже наболевшее..
Цитата:
|
Ответ: Уже наболевшее..
Вложений: 1
мне с с таким тяжело ещё работать, тоесть к той функци я тип написал, сунул куда нада, пишет ошибку на ентити даз нот ексист PShotSparkspr.
вобщем или с примером по использованию или ваще ненадо выкладывать.. _______________ есть трабла, её решение я знаю, но думаю это тупо, спрошу у посетителей форума:) вот я тока запустил игру, убил первого бота, из нево кровище полилось, и 1 спрайт, только идин первый, без альфы рендерица.. как такое можно устранить? |
Ответ: Уже наболевшее..
вот пример:
Код:
Graphics3D 800,600,32,2 |
Ответ: Уже наболевшее..
Цитата:
Цитата:
|
Ответ: Уже наболевшее..
есть проблема которую я пытаюсь решить уже несколько дней, но ниче пока не выходит. проблема состоит из частиц:). немогу реализовать так чтоб они летели но параболе. то есть, произошол взрыв из частиц, и чтоб они потом падали на землю.. помогите реализовать:)
|
Ответ: Уже наболевшее..
O_o.
p\dx=p\dx-0.1 translateentity p\ent,0,p\dx,0 |
Ответ: Уже наболевшее..
сам попробуй так сделать и увидиш что получица.. частиы вверх не подлетают, а тока создавшись летят вниз, и ненадо мне смайлик девида блейна показывать:)))))
|
Ответ: Уже наболевшее..
о_О.
дык это. p\dx делай во время создания частицы положительным. например 5. |
Ответ: Уже наболевшее..
у мя с нетом траблы, неуспел вовремя то сообщение отредактировать:
>о_О. - это кумарит вопервых.. я так тож делал, у мя проблема была в том что частицы не разлитались в разные стороны, недавно до решения проблемы дошол но не вспомнил про эту хрень что ты прегдгаеш, всё работает. еслиб я этим блицом задротил аццки всё бы получалось а так я раз в пару дней сажусь на часик.. чёнить сделать. у мя там ещё трабла есть, после долгово убивания ботов с которых летит много кровища, (оно после ищезноения удаляеца), пули тоже удаляюца, боты после смерти тоже, но потом при попадании в бота перед "излиянием" крови и мяса наблюдаеца тормоз.. откуда он может происходить? ведь первые пару минут игры нормально-то всё.. из-за загрузки спрайтов в процессе игры может? но проверял, неоднократно, все обьекты которые уже ненужны удаляюца |
Ответ: Уже наболевшее..
и еще есть второс. кто как реализовывает ищезновение крови? альфой пытался, так кровь мигает..
|
Ответ: Уже наболевшее..
думаю ты делаеш так:
cp\ent = LoadSprite(""); т.е. каждый раз грузиш новый спрайт, ну и видеопамяти кирдык. делай копию. CopyEntity |
Ответ: Уже наболевшее..
точно, спс за идею.)
нащёт ищезновения крови, писал так alpha=alpha-.05*framePeriod*.01 EntityAlpha w\particle_type,alpha ну бред получаеца.. |
Ответ: Уже наболевшее..
ну хз. я как то проще делаю:
p\l=p\l-1 entityalpha p\ent,p\l*0.01 например. если время жизни - сто. |
Ответ: Уже наболевшее..
я вобщемнакопировал спрайтов.. и тд. но тормоза сиравно появлюца.. после некоторого время игры вылетает с ошибкой о нехватке памяти..
|
Ответ: Уже наболевшее..
покажи как добавляеш и как удаляеш спрайты.
|
Ответ: Уже наболевшее..
весь код создания частиц
Код:
Type blood_particle |
Ответ: Уже наболевшее..
blood_tex=LoadTexture("tex/blood_particle2.png")
Грузим текстуру с винчестера по нескольку раз. Отсюда и тормоза. |
Ответ: Уже наболевшее..
чё??
|
Ответ: Уже наболевшее..
Цитата:
Кстати это ещё и память засирает т.к. грузишь много раз но не удаляешь. после объявления граф. режима прописать это: Global blood_tex=LoadTexture("tex/blood_particle2.png",2) и вот эти 2 строчки выкинуть из ф-ии создания спрайта: blood_tex=LoadTexture("tex/blood_particle2.png") TextureFilter "blood_particle2",2 |
Ответ: Уже наболевшее..
Samarik, мсье маньяк?
|
Ответ: Уже наболевшее..
|
Ответ: Уже наболевшее..
АВТОМАТУ спасибо, во всем разобрались. холидел и нуклеар, вы че имели ввиду?:)
|
Ответ: Уже наболевшее..
У тя функция загрузки прототипа и копирование готового прототипа на конвеер совмещены в одну, ты каждый раз создаешь спрайт, загружаешь текстуру, копируешь этот спрайт, в итоге у тебя в 2 раза больше спрайтов(и половина не удаляется) и куча тектур(они тоже не удаляются, а заполняют память), и в добавок еще тормоза от кучи лишних действий.
Загрузи частицу и текстуру ОДИН РАЗ, примени текстуру и свойства, хайдни, а уже при создании частиц крови просто копируй ее, затем удаляя копию... |
Ответ: Уже наболевшее..
С этим я и разобрался уже. все, не смотрите на тот код шо в начале страницы:)
|
Re: Уже наболевшее..
Я делал так
Код:
Код:
update_spark() - вставь в основном цикле поэксперементируй с параметрами add_spark(x#,y#,z#,times#,scale#,parent,types,isma gic) |
Ответ: Уже наболевшее..
эт ты к чему ваще все это написал?
|
Re: Уже наболевшее..
небуду сорить в форуме, напишу тут..
у меня проблема с реализацией частиц, проблема состоит в том что я немогу сделать так чтоб частицы летели из бота, в которого я попал. создал я частицы, они работают, создал условие что при коллизии пули с ботом летят частицы, всё это работает.. добился того что при колизии пули с ботом вылазит ошибка "ентити даз нот ексист.." ну эт када я пробовал с командами EntityX(Bot),y,z и тд.. выложу код частиц К этому гг))):-D |
Часовой пояс GMT +4, время: 16:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot