 |
3D-программирование Вопросы, касающиеся программирования 3D мира |
17.02.2010, 09:23
|
#1
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Функции меня подвели
У меня есть до пустим 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(2 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()
|
Функция не изменилась, характеристики тоже. Способ разный. Первый - работает. Второй - не текстурит!
|
(Offline)
|
|
17.02.2010, 09:56
|
#2
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Функции меня подвели
,да, вложенные функции в блице бывает глючат. сделай небольшой пример с такими же функциями но без типов и кучи параметров. просто на одмом кубике)
|
(Offline)
|
|
17.02.2010, 10:25
|
#3
|
|
Ответ: Функции меня подвели
такое ощущение что decRazde l это что-то локальное в глобальном пространстве имен, а из функции доступа нету 
|
|
|
17.02.2010, 10:36
|
#4
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Функции меня подвели
Сообщение от Павел
,да, вложенные функции в блице бывает глючат. сделай небольшой пример с такими же функциями но без типов и кучи параметров. просто на одмом кубике)
|
В голове у вас глючит
посмотрите доступ к текстуре из функции - ее наверняка нет в переменной
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо tormoz за это полезное сообщение:
|
|
17.02.2010, 12:50
|
#5
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Функции меня подвели
Название темы доставляет...
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Harter за это полезное сообщение:
|
|
17.02.2010, 14:34
|
#6
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Функции меня подвели
Я не понимаю каким образом но павел прав...
такое ощущение что decRazde l это что-то локальное в глобальном пространстве имен, а из функции доступа нету
|
Он глобален + не имеет отношение к текстуре. Вообще ничего не имеет отношение к текстуре. Она грузится по заданному пути программой в функции!
Заменил :
If KeyHit(66) Then Load()
|
НА
If KeyHit(66) Then LoadWorld("джордж.UCM")
|
Название темы доставляет...
|
спешил утром написать, что бы домой вернутся сразу ответ глянуть...
|
(Offline)
|
|
17.02.2010, 14:48
|
#7
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Функции меня подвели
да, вложенные функции в блице бывает глючат
|
^О_O^
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Dream за это полезное сообщение:
|
|
17.02.2010, 15:16
|
#8
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Ответ: Функции меня подвели
В блитце много что через анал работает.
Но всё равно блиц рулит, ибо бэйсик.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:57.
|