независимо от лага поддържайте скоростта еднаква!, чрез Delta Timing |
Здравейте ( Вход | Регистрация )
независимо от лага поддържайте скоростта еднаква!, чрез Delta Timing |
12:24:48, 29-May-2010, Saturday
Коментар
#1
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Нито концепцията, нито кода са мои, но това е нещо твърде полезно да бъде подминато.
С две думи чрез този метод нещата ще се движат с еднаква скорост независимо от лага.... винаги! И е изключително прост, всеки може да го приложи. Какво трябва да се направи: 1.В първата стая на играта, в контрол обекта при създаването му се инициализира една глобална променлива global.gamespeed=1; 2.После тази променлива трябва да се обновява всяка стъпка в begin step на контрола за съответната стая: Код if fps>1 { global.gamespeed=fps/room_speed; } 3.За всяко нещо, което се движи, или се променя постоянно, се разделя на тази глобална променлива, за да се поддържа тази скорост: Код //това са само примери speed=10/global.gamespeed; friction=0.5/global.gamespeed; image_speed=2/global.gamespeed;//изключително важно, за да изглежда и анимацията наред //ако нещо се увеличава всяка стъпка, то това правило важи и за него health+=3/global.gamespeed; edikvositam+=10/global.gamespeed; И това е само. Толкова просто. Има едно изключение и това са алармите. Те не могат да бъдат повлияни от този метод. За това може да се използва тяхната алтернатива в код. Delta timinga не е оправдание да занемарите играта да бъде неоптимизирана да се влачи с едва 20 кадъра в секунда. Ще стане насечена и определено неприятна за игра. Този метод е само за случаите когато някой има по-стар компютър, или има лаг поради многото пуснати програми. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
13:22:44, 29-May-2010, Saturday
Коментар
#2
|
|
Редовен бъбривко Група: Администратор Коментари: 782 Регистриран: 31.12.07 Град: Шумен Потребител № 824 |
Добре де ама ако всичко се влияе от тази променлива няма ли играта да сече умишлено?
В смисъл то движението хубаво ще се запази едно и също, но така форсираш играта ти да бави повече като процеси. -------------------- Download my games (click an image for more information and downloading):
website: rbglifestyle.hit.bg |
|
|
13:27:29, 29-May-2010, Saturday
Коментар
#3
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Не мога да те разбера какво имаш впредвид. Очевидно метода е достатъчно добър, щом се използва широко.
форираш? Какъв е този глагол? Аман от чужди думи. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
13:35:48, 29-May-2010, Saturday
Коментар
#4
|
|
Редовен бъбривко Група: Администратор Коментари: 782 Регистриран: 31.12.07 Град: Шумен Потребител № 824 |
Форсираш имах в предвид. Много ми се яде и ям букви днес.
Мисълта ми беше че като го слагаш това на всяка променлива играта ти ще стане по-"тежка". Таймингът ще си остане същият, но предполагам ще се появи допълнителен FPS лаг. Друг е въпросът колко голям ще е той. Може и да е почти нищожен, но влияние определено ще оказва някакво. -------------------- Download my games (click an image for more information and downloading):
website: rbglifestyle.hit.bg |
|
|
13:41:42, 29-May-2010, Saturday
Коментар
#5
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Не, не се насилва играта по този начин.
Цитат но влияние определено ще оказва някакво. Видиш ли, това ще се отрази върху скоростта: Код var a; if fps>1 global.gamespeed=fps/roomspeed; repeat(200) a=5/global.gamespeed; Ако някой не вярва, че това ще му смъкне скоростта с поне 5 кадъра в секунда, може да го пробва. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
15:51:12, 28-June-2011, Tuesday
Коментар
#6
|
|
Редовен потребител Група: Потребител Коментари: 237 Регистриран: 12.03.07 Град: София Потребител № 469 |
Еми реших да го пробвам,и резултата е кофти ,установих откъде е проблема, и тои е че GM fps-то се ъпдейтва на една секунда и това прави голям проблем,но намерих едно dll което изчислява фпс-то до 0,000001 секунди и всичко е ок с него ето го тук
-------------------- Inxsys=(top down view shooter)-(Online)
|
|
|
17:53:55, 29-July-2012, Sunday
Коментар
#7
|
|
Редовен потребител Група: Потребител Коментари: 106 Регистриран: 04.02.06 Потребител № 97 |
някой има ли го тоя длл че от рапит шаре са го махнали вече
ако някой го има да го качи някъде да може да се сваля -------------------- |
|
|
Олекотена версия | Час: 19:15:21, 05.05.24 |