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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 21.08.2010, 01:11   #1
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Varptr в Blitz3D

Переписываю код с BlitzMax на Blitz3D и столкнулся с такой фигней как можно в Blitz3D использовать функцию BlitzMax'a Varptr? или как она там называется
Я так понимаю она находит адрес переменной, а вот как в Blitz3D его найти...
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 01:46   #2
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Varptr в Blitz3D

Никак
__________________

(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 02:03   #3
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

И что я так понимаю что адрес переменной узнать нельзя в Blitz3D
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 02:50   #4
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Varptr в Blitz3D

Черезжопно можно.
http://fastlibs.com
Смотри FastPointer
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (21.08.2010)
Старый 21.08.2010, 02:57   #5
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Ну я так пологаю на C++ можно написать такую либу чтоб она возврощала адрес переменной? Верно?
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 03:40   #6
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Varptr в Blitz3D

Сообщение от maxturbo Посмотреть сообщение
Ну я так пологаю на C++ можно написать такую либу чтоб она возврощала адрес переменной? Верно?
Верно. Но не для тебя.
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 10:18   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

Вроде бы можно получать адрес пользовательских типов на сколько я помню... только эти функции не документированы...

Вот тут есть примеры http://www.blitzbasic.com/Community/...hp?topic=53348
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 10:50   #8
wolfhound512
Знающий
 
Аватар для wolfhound512
 
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений
(для 299 пользователей)
Ответ: Varptr в Blitz3D

Это не адрес, а порядковый номер объекта в типе
__________________
GUI, GUIw512, AlbaLynx, Форум
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 16:47   #9
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

Ну в переводе Handle - ссылка. Я не проверял значения получаемые этой функцией до этого. После маленького исследования получается, что это и не совсем номер элемента в типе. Это номер полученной ссылки на объект типа.
Type MyType
    Field simple
End Type

var1
.MyType = New MyType
var2
.MyType = New MyType

Print Handle(var1)
Print 
Handle(var2)
Delete var1
Print Handle(var2
Вот такой код выдает:
1
2

Возможно этого хватит для решения задачи, других примеров здесь вроде не предлагали, кроме использования подключаемых библиотек.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 16:55   #10
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Varptr в Blitz3D

Мне западло поверять, но указание * как тэга типа в decls передает адрес банка или объекта пользовательского типа. Возможно оно будет работать и для переменных.
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 16:57   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

Сообщение от Knightmare Посмотреть сообщение
Мне западло поверять, но указание * как тэга типа в decls передает адрес банка или объекта пользовательского типа. Возможно оно будет работать и для переменных.
Ну если человек напишет для этого еще свою библиотеку
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 17:07   #12
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Varptr в Blitz3D

Ну за каким-то хреном же ему нужен адрес переменной.
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 17:21   #13
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Короче объясню так, есть Ninfa3D для BlitzMax я ее юзаю в Blitz3D все работает вот только в BlitzMax команда используется вот так
	
Local sampledist:Float = 0.0015
Local strength:Float = 4.6
Local multiplier:Float = 0.22
CreateDOF(512,512,Varptr sampledist,Varptr strength,Varptr multiplier)
А как в Blitz3D использовать, если просто ввести переменные то выходит ошибка!!!
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 17:25   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

если это dll, то просто объяви эту функцию как нужно в decls. И должно работать.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 17:31   #15
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Сообщение от pax Посмотреть сообщение
если это dll, то просто объяви эту функцию как нужно в decls. И должно работать.
Да это dll но вроде бы все правельно пишу в decls
Вот так она выглядит в BlitzMax
Global CreateDOF:Int Ptr(w:Int, h:Int, param0:Float Ptr, param1:Float Ptr, param2:Float Ptr) "C" = GetProcAddress(dll,"CreateDOF")
А вот так вот я делаю в decls
NF_CreateDOF_%(w%,h%,param0#,param1#,param2#):"CreateDOF"
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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