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

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

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

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

Ответ
 
Опции темы
Старый 21.08.2010, 17:46   #16
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

попробуй так:
NF_CreateDOF_*(w%,h%,param0*,param1*,param2*):"CreateDOF"
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 17:48   #17
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Не работает, ошибку выдает!!!
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 18:05   #18
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Varptr в Blitz3D

А что за ошибка?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 18:15   #19
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

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

Не компилируется и выдает ошибку, это на каком же этапе?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 19:52   #21
Venom2
 
Сообщений: n/a
Ответ: Varptr в Blitz3D

maxturbo
Когда обьявляешь в деклсе аргумент со звездочкой, это значит что туда надо передавать либо экземпляр типа (Type) либо банк (CreateBank и т.д)
; создаем банки и записываем в них значения
sampledist = CreateBank(4)
PokeFloat(sampledist, ...)
strength = CreateBank(4)
PokeFloat(strength, ...)
multiplier = CreateBank(4)
PokeFloat(multiplier, ...)

; передаем банки в функцию
CreateDOF(512, 512, sampledist, strength, multiplier)

; удаляем банки
FreeBank(sampledist)
FreeBank(strength)
FreeBank(multiplier)
ЗЫ
Только на кой хер там указатели нужно передавать, обычно так делают чтобы вернуть какие-то значения из функции через эти указатели, так что будь внимательнее, перед удаление банков если нужно будет забери значения с помощью PeekFloat, тогда наверное записывать в банки не нужно, если они для возвращения нужны, читай справку по движку.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (21.08.2010)
Старый 21.08.2010, 20:06   #22
wolfhound512
Знающий
 
Аватар для wolfhound512
 
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений
(для 299 пользователей)
Ответ: Varptr в Blitz3D

Передавать банки вместо указателей не получится, т.к. блиц в этом случае передает указатель на структуру типа
struct bank {
    int size;
    void* data;
}
__________________
GUI, GUIw512, AlbaLynx, Форум
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 20:27   #23
Venom2
 
Сообщений: n/a
Ответ: Varptr в Blitz3D

Сообщение от wolfhound512 Посмотреть сообщение
Передавать банки вместо указателей не получится, т.к. блиц в этом случае передает указатель на структуру типа
struct bank {
    int size;
    void* data;
}
Когда обьявляешь в деклсе аргумент со звездочкой, это значит что туда надо передавать либо экземпляр типа (Type) либо банк (CreateBank и т.д)
Без звездочки блиц передает обычный int, т.е. адрес банка, по которому и будет та структура, со зведочкой блиц передает адрес данных.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
tormoz (21.08.2010)
Старый 21.08.2010, 21:55   #24
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

А вот к примеру потом при нажатие клавиши переменная значение меняет, и как это должно выглядеть?
Вот код!
	If NF_KeyDown(KEY_1) Then sampledist = sampledist+ 0.0001
	If NF_KeyDown(KEY_2) Then sampledist = sampledist- 0.0001

	If NF_KeyDown(KEY_3) Then strength= strength + 0.001
	If NF_KeyDown(KEY_4) Then strength= strength - 0.001

	If NF_KeyDown(KEY_5) Then multiplier = multiplier+ 0.001
	If NF_KeyDown(KEY_6) Then multiplier = multiplier - 0.001
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 22:26   #25
Venom2
 
Сообщений: n/a
Ответ: Varptr в Blitz3D

Сообщение от maxturbo Посмотреть сообщение
А вот к примеру потом при нажатие клавиши переменная значение меняет, и как это должно выглядеть?
Вот код!
	If NF_KeyDown(KEY_1) Then sampledist = sampledist+ 0.0001
	If NF_KeyDown(KEY_2) Then sampledist = sampledist- 0.0001

	If NF_KeyDown(KEY_3) Then strength= strength + 0.001
	If NF_KeyDown(KEY_4) Then strength= strength - 0.001

	If NF_KeyDown(KEY_5) Then multiplier = multiplier+ 0.001
	If NF_KeyDown(KEY_6) Then multiplier = multiplier - 0.001
Эти переменные после еще куда-то передаются? Если нет, то тогда понятно зачем адреса нужно передавать
Банки тогда не удаляй и в них перезаписывай
If NF_KeyDown(KEY_1) Then PokeFloat(sampledist, 0, PeekFloat(sampledist, 0) + 0.0001)
If NF_KeyDown(KEY_2) Then PokeFloat(sampledist, 0, PeekFloat(sampledist, 0) - 0.0001)
......
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (21.08.2010)
Старый 21.08.2010, 22:39   #26
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Сообщение от Venom2 Посмотреть сообщение
Эти переменные после еще куда-то передаются? Если нет, то тогда понятно зачем адреса нужно передавать
Банки тогда не удаляй и в них перезаписывай
Не после ни куда не передаются !!
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 22:53   #27
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

Делаю все как ты описываешь, все равно ноль эфекта, только что запускаться стало и все!!!
Собственно вот
в decls у меня записано так
NF_CreateDOF%(w%,h%,param0*,param1*,param2*):"CreateDOF"
Далее код делаю как ты говоришь!

Include "ninfa3d.bb"
NF_EnableVsync()

NF_InitEngine(640,480,32,0)
	NF_BackGroundColor(128,128,128);Background Color
	NF_AmbientLight(64,64,64);Ambient Color

main1 = CreateBank(4)
PokeFloat(main1,1,0.0015)
main2 = CreateBank(4)
PokeFloat(main2, 2,4.6)
main3 = CreateBank(4)
PokeFloat(main3, 3,0.22)

	NF_CreateDOF(512,512,main1,main2,main3)

Include "SampleFunctions.bb"

camera = NF_CreateCameraFPS(200,0.25)
	NF_PositionEntity(camera,0,64,-100)

light01 = NF_CreateLight(LGT_POINT)
	NF_PositionEntity(light01,0,128,-128); Position
	NF_LightRadius(light01,175); Radius of the light

CreateGround()

goku = NF_LoadMesh("media\goku.b3d",VT_TCOORS)
	;AnimateMesh(goku,1,30,1,235,1);Animate the mesh
	NF_PositionEntity(goku,0,25,25);Move the mesh
	NF_RotateEntity(goku,0,0,0)
	NF_ScaleMesh(goku,2.5,2.5,2.5)

vegeta = NF_LoadMesh("media\vegeta.b3d",VT_TCOORS)
	;AnimateMesh(vegeta,1,30,1,235,1);Animate the mesh
	NF_PositionEntity(vegeta,50,25,0);Move the mesh
	NF_RotateEntity(vegeta,0,0,0)
	NF_ScaleMesh(vegeta,2.5,2.5,2.5)
	
piccolo = NF_LoadMesh("media\piccolo.b3d",VT_TCOORS)
	;AnimateMesh(piccolo,1,30,1,235,1);Animate the mesh
	NF_PositionEntity(piccolo,-50,25,0);Move the mesh
	NF_RotateEntity(piccolo,0,0,0)
	NF_ScaleMesh(piccolo,2.5,2.5,2.5)
While(NF_EngineRun())

	NF_BeginScene()
	If NF_KeyHit(KEY_ESCAPE) Then NF_CloseEngine()
	NF_UpdateEngine(0,UP_ALL)

	If NF_KeyDown(KEY_1) Then PokeFloat(main1, 1, PeekFloat(main1, 1) +10.0001)
	If NF_KeyDown(KEY_2) Then PokeFloat(main1, 1, PeekFloat(main1,1) -10.0001)

NF_EndScene()
	
Wend
NF_EndEngine()
End
Может где ошибка есть!!!
(Offline)
 
Ответить с цитированием
Старый 21.08.2010, 23:02   #28
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Varptr в Blitz3D

Зачем так извращатся? Пиши на BlitzMax`е.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reks888 (21.08.2010)
Старый 21.08.2010, 23:32   #29
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Varptr в Blitz3D

И походу дела я так понимаю нужно чтобы вновь измененные параметры переменной с помощью клавиши 1 или 2 передались NF_CreateDOF или как хрен его знает!!!
(Offline)
 
Ответить с цитированием
Старый 22.08.2010, 00:27   #30
Venom2
 
Сообщений: n/a
Ответ: Varptr в Blitz3D

maxturbo
Во-первых зачем ты здесь единицу ставишь?
PokeFloat(main1, 1, PeekFloat(main1, 1) +10.0001)
это байтовое смещение в памяти банка, там 0 должен быть.
Во-вторых нужно знать как работает эта NF_CreateDOF, точная декларация нужна. Как я уже говорил читай документацию к движку, возможно ты ее неверно используешь. Или лучше забей на эту хрень, это очередная говнообертка иррлихта, да еще из блица юзать действительно извращение.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (22.08.2010)
Ответ


Опции темы

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

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


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


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