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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Полезные функции

Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново...

Ответ
 
Опции темы
Старый 08.07.2008, 16:14   #16
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: очень маленькие хинты

1. EntityCollided и другие функции коллизий в Блице не будут работать без UpdateWorld в главном цикле. Справка не врет.
Анимация тоже не будет работать без обновления.
(Offline)
 
Ответить с цитированием
Старый 27.12.2008, 15:23   #17
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 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
Shirase
AnyKey`щик
 
Аватар для Shirase
 
Регистрация: 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???
__________________

технологии это смешно!
http://upyachka.ru/
http://z0r.de/
We calling REVOLUTION!
ZX Spectrum Forever!!!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ffinder (31.12.2008)
Старый 31.12.2008, 14:57   #19
jimon
 
Сообщений: n/a
Ответ: очень маленькие хинты

Shirase
пиши flag = not flag и будет тебе счастье
 
Ответить с цитированием
Старый 31.12.2008, 15:03   #20
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: очень маленькие хинты

Сообщение от Shirase Посмотреть сообщение
Почему Xor нет в BlitzMAX???
наверно потому что там его заменяет оператор ~
__________________
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
dimanche13 (03.01.2009), EvilChaotic (21.07.2009), Hagrael (15.06.2011), Randomize (20.01.2009)
Старый 31.12.2008, 15:03   #21
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: очень маленькие хинты

Bitwise exclusive or Expression ~ Expression
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
SBJoker (31.12.2008)
Старый 21.07.2009, 18:35   #22
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: очень маленькие хинты

Поставил в своём коде Flip (0), до этого fps был ~72 хотя комп неслабый, после fps подскочил аш до ~2000, впрочем у меня все равно только плоскость и один кубик рендерился) но всё равно я таких цифр еще не видел o_O
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Hagrael (15.06.2011)
Старый 21.07.2009, 18:37   #23
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: очень маленькие хинты

некрофилическая фантастика !
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
ABTOMAT (21.07.2009), EvilChaotic (21.07.2009), Reks888 (22.03.2010)
Старый 21.07.2009, 19:53   #24
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: очень маленькие хинты

Arton, аргумент flip ответственен за вертикальную синхронизацию (= ограничение ФПС до "родного" для монитора уровня), поэтому, если с flip(0) (синхра отключена) может быть какой угодно FPS, то с flip(1) (включена) может быть либо равным частоте развёртки экрана (Правый клик на раб. столе -> свойства -> параметры -> дополнительно -> монитор -> частота обновления экрана) либо меньше.
http://ru.wikipedia.org/wiki/Вертикальная_синхронизация
В блице по умолчанию включена, чтобы не было лишних вопросов (типа у меня 100 ФПС а у друга 500 ФПС и у него всё быстрее движется и когда мы в мою игру по сетке играем, он меня обгоняет ), т.к. на ненастроенных мониторах обычно 60 Гц, и ламота жалуется, что ЭЛТ-мониторы им глаза портят.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (03.08.2009)
Старый 03.08.2009, 18:29   #25
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: очень маленькие хинты

Спасибо за разъяснение, ABTOMAT, а про вертикальную синхронизацию я так знаю, просто я думал что "Flip – меняет местами передний и задний буфер" как написано было в одном учебники =)
(Offline)
 
Ответить с цитированием
Старый 03.08.2009, 18:55   #26
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: очень маленькие хинты

"Flip – меняет местами передний и задний буфер"
И это тоже
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 12.08.2009, 14:43   #27
Chrono Syndrome
 
Сообщений: n/a
Ответ: очень маленькие хинты

Одна из наиболее оптимизированных (по меркам 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.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (12.08.2009)
Старый 09.12.2010, 23:06   #28
Alex_Noc
Разработчик
 
Регистрация: 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
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: очень маленькие хинты

Посоны, вы чего? Можно же намного изящней!
var = 16
var = ((Int(Not(var Shr 4-1))+1)Shl 4)
Print var
Ньюфаги не могут битовый сдвиг, лол .
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Egor Rezenov (10.12.2010), Harter (09.12.2010), Randomize (17.05.2011)
Старый 14.05.2011, 18:21   #30
Harter
Бывалый
 
Аватар для Harter
 
Регистрация: 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
Миниатюры
Нажмите на изображение для увеличения
Название: блочная_графика.GIF
Просмотров: 1073
Размер:	12.6 Кб
ID:	13752  
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Harter за это полезное сообщение:
LLI.T.A.L.K.E.R. (15.05.2011), Randomize (17.05.2011)
Ответ


Опции темы

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

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


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


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