|
Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново... |
08.07.2008, 16:14
|
#16
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: очень маленькие хинты
1. EntityCollided и другие функции коллизий в Блице не будут работать без UpdateWorld в главном цикле. Справка не врет.
|
Анимация тоже не будет работать без обновления.
|
(Offline)
|
|
27.12.2008, 15:23
|
#17
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: очень маленькие хинты
Сообщение от dimond
меняет цвет при условии
Color (health<25)*255,(health>=25)*255,0:text 0,0,health
у меня идея, упрощение кода донельзя
если я изобрел велосипед, скажите.
|
Есть вешь получше(т.к. только что изобрел - без упрощения кода, но думаю оптимизировать не составит труда):
greenn=(510-life*5)/2
redd=(510-greenn)/2
Color greenn, redd, 0
|
(Offline)
|
|
31.12.2008, 07:37
|
#18
|
AnyKey`щик
Регистрация: 24.12.2008
Сообщений: 8
Написано одно полезное сообщение
|
Ответ: очень маленькие хинты
Ну наверно все это знают:
Cвич булевой переменной:
flag=flag xor 3
или
flag=1-flag
Функция сложения по модулю 2 (xor)
Почему xor называется "сложение по модулю 2"? Потому что так оно и есть: в двоичной системе 0+0=0, 0+1=1+0=1, 1+1=10, а по модулю 2 (остаток от деления на 2) последняя сумма как раз и даёт 0.
Во-первых, при инвертировании одного из аргументов эта функция также инвертируется. Во-вторых, эта функция показывает, когда аргументы не равны (а при инвертировании одного из аргументов - когда равны). В-третьих, она позволяет проводить управляемое инвертирование: при нулевом аргументе другой аргумент не меняется, при единичном же значении второй аргумент инвертируется. Наконец, эта функция инволютивна (её повторное применение возвращает к исходному аргументу): если (x3=x1 xor x2), то (x3 xor x1=x2) и (x3 xor x2=x1).
Почему Xor нет в BlitzMAX???
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.12.2008, 14:57
|
#19
|
|
Ответ: очень маленькие хинты
Shirase
пиши flag = not flag и будет тебе счастье
|
|
|
31.12.2008, 15:03
|
#20
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: очень маленькие хинты
Сообщение от Shirase
Почему Xor нет в BlitzMAX???
|
наверно потому что там его заменяет оператор ~
__________________
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
31.12.2008, 15:03
|
#21
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: очень маленькие хинты
Bitwise exclusive or Expression ~ Expression
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.07.2009, 18:35
|
#22
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: очень маленькие хинты
Поставил в своём коде Flip (0), до этого fps был ~72 хотя комп неслабый, после fps подскочил аш до ~2000, впрочем у меня все равно только плоскость и один кубик рендерился) но всё равно я таких цифр еще не видел o_O
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.07.2009, 18:37
|
#23
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: очень маленькие хинты
некрофилическая фантастика !
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
|
|
21.07.2009, 19:53
|
#24
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: очень маленькие хинты
Arton, аргумент flip ответственен за вертикальную синхронизацию (= ограничение ФПС до "родного" для монитора уровня), поэтому, если с flip(0) (синхра отключена) может быть какой угодно FPS, то с flip(1) (включена) может быть либо равным частоте развёртки экрана (Правый клик на раб. столе -> свойства -> параметры -> дополнительно -> монитор -> частота обновления экрана) либо меньше.
http://ru.wikipedia.org/wiki/Вертикальная_синхронизация
В блице по умолчанию включена, чтобы не было лишних вопросов (типа у меня 100 ФПС а у друга 500 ФПС и у него всё быстрее движется и когда мы в мою игру по сетке играем, он меня обгоняет ), т.к. на ненастроенных мониторах обычно 60 Гц, и ламота жалуется, что ЭЛТ-мониторы им глаза портят.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
03.08.2009, 18:29
|
#25
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: очень маленькие хинты
Спасибо за разъяснение, ABTOMAT, а про вертикальную синхронизацию я так знаю, просто я думал что "Flip – меняет местами передний и задний буфер" как написано было в одном учебники =)
|
(Offline)
|
|
03.08.2009, 18:55
|
#26
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: очень маленькие хинты
"Flip – меняет местами передний и задний буфер"
|
И это тоже
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
12.08.2009, 14:43
|
#27
|
|
Ответ: очень маленькие хинты
Одна из наиболее оптимизированных (по меркам Blitz3D) реализаций алгоритма преобразования целоисчисленного представления ранее записанного выровненным (символами нуля) текстом десятичного числа к исходному виду:
Function Val4(DWord%) ; Для четырехзначных чисел (ReadInt).
DWord = DWord - $30303030
Return (((DWord And $FF)*10+DWord Shl 16 Shr 24)*10+DWord Shl 8 Shr 24)*10+DWord Shr 24
End Function
Function Val2(Word%) ; Для двузначных чисел (ReadShort).
Return (Word And $FF - $30) * 10 + (Word - $3000) Shr 8
End Function
Обратите внимание: из соображений производительности в представленных функциях опущены какие-либо проверки корректности передаваемых данных.
Последний раз редактировалось Chrono Syndrome, 12.08.2009 в 14:59.
|
|
|
Сообщение было полезно следующим пользователям:
|
|
09.12.2010, 23:06
|
#28
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: очень маленькие хинты
Вот такая конструкция вернет после "Not" не "0", а ваши числа:
Num=32 ;начальное значение переменной
if keyhit (but) then Num=Num-16*(Num=32)+16*(Num=16) ; переключает с 16 на 32 и обратно
значения могут быть любыми.
Это Тадеус подсказал за что ему огромное спасибо!!!
|
(Offline)
|
|
09.12.2010, 23:38
|
#29
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: очень маленькие хинты
Посоны, вы чего? Можно же намного изящней!
var = 16
var = ((Int(Not(var Shr 4-1))+1)Shl 4)
Print var
Ньюфаги не могут битовый сдвиг, лол .
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
14.05.2011, 18:21
|
#30
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: очень маленькие хинты
Сообщение от Harter
Есть вешь получше(т.к. только что изобрел - без упрощения кода, но думаю оптимизировать не составит труда):
greenn=(510-life*5)/2
redd=(510-greenn)/2
Color greenn, redd, 0
|
100500лицоладоней
Представляю вам первый алгоритм из серии "не думай @ ищи".
уголок дорога как сделать круто бесплатно без регистрации 2D 3D ну клеточки чтоб работало
Блочная графика #1
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Harter за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:25.
|