forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Функции меня подвели (http://forum.boolean.name/showthread.php?t=11943)

is.SarCasm 17.02.2010 09:23

Функции меня подвели
 
У меня есть до пустим 1 функция. И не важно что в ней и о чем она. Вот она перед вами:

Цитата:

Function CreateObject(n,x#,y#,z#,rotx#,roty#,rotz#,sclx#,sc ly#,sclz#,tp,tName$,texXx#,texYx#,dRazdel)
p.Objec = New Objec
p\ID = n
p\x = x#
p\y = y#
p\z = z#
p\rotx# = rotx#
p\roty# = roty#
p\rotz# = rotz#
p\sclx# = sclx#
p\scly# = scly#
p\sclz# = sclz#
p\typ = tp
p\razdel = dRazdel


p\entity = CopyEntity(entity(p\ID,p\razdel))
p\texX# = texXx#
p\texY# = texYx#




p\texName$ = tName$
p\tex = LoadTexture("Wdata\Models\zemla(1).jpg")


If p\tex <> 0
ScaleTexture p\tex,p\texX#,p\texY#
EntityTexture p\entity,p\tex
EndIf


PositionEntity p\entity,p\x,p\y,p\z
RotateEntity p\entity,p\rotx#,p\roty#,p\rotz#


EntityPickMode p\entity,2
EntityType p\entity,p\typ



ScaleEntity p\entity,p\sclx#,p\scly#,p\sclz#


End Function
Вызываю в программе:

Цитата:

If KeyHit(28) Then CreateObject(1,1,1,1,1,1,1,1,1,1,1,"",1,1,decRazde l)
Всё работает чудесно. Создает нужный мне объект и сразу лег под текстуру.

Второй способ:

Цитата:

Function LoadWorld(name$)

CreateObject(1,1,1,1,1,1,1,1,1,1,1,"",1,1,decRazde l)

End Function


Function Load()
LoadWorld("пример")
End Function
Вызов:

Цитата:

If KeyHit(66) Then Load()
Функция не изменилась, характеристики тоже. Способ разный. Первый - работает. Второй - не текстурит!

Reizel 17.02.2010 09:56

Ответ: Функции меня подвели
 
,да, вложенные функции в блице бывает глючат. сделай небольшой пример с такими же функциями но без типов и кучи параметров. просто на одмом кубике)

jimon 17.02.2010 10:25

Ответ: Функции меня подвели
 
такое ощущение что decRazde l это что-то локальное в глобальном пространстве имен, а из функции доступа нету :)

tormoz 17.02.2010 10:36

Ответ: Функции меня подвели
 
Цитата:

Сообщение от Павел (Сообщение 137830)
,да, вложенные функции в блице бывает глючат. сделай небольшой пример с такими же функциями но без типов и кучи параметров. просто на одмом кубике)

В голове у вас глючит
посмотрите доступ к текстуре из функции - ее наверняка нет в переменной

Harter 17.02.2010 12:50

Ответ: Функции меня подвели
 
Название темы доставляет...

is.SarCasm 17.02.2010 14:34

Ответ: Функции меня подвели
 
Я не понимаю каким образом но павел прав...

Цитата:

такое ощущение что decRazde l это что-то локальное в глобальном пространстве имен, а из функции доступа нету
Он глобален + не имеет отношение к текстуре. Вообще ничего не имеет отношение к текстуре. Она грузится по заданному пути программой в функции!

Заменил :
Цитата:

If KeyHit(66) Then Load()
НА
Цитата:

If KeyHit(66) Then LoadWorld("джордж.UCM")
Цитата:

Название темы доставляет...
спешил утром написать, что бы домой вернутся сразу ответ глянуть...

Dream 17.02.2010 14:48

Ответ: Функции меня подвели
 
Цитата:

да, вложенные функции в блице бывает глючат
^О_O^

Crystal 17.02.2010 15:16

Ответ: Функции меня подвели
 

В блитце много что через анал работает.
Но всё равно блиц рулит, ибо бэйсик.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot