[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Не пашут типы...
Не пашут типы...
VirusssДата: Вторник, 02.02.2010, 16:22 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Code
Function new_enemy(tf%)
If tf%=True Then
night.night=New night
night\x=cursor3d\x
night\y=cursor3d\y
night\hp=300
night\mesh=LoadAnimMesh("D:\Strategy\Data\Models\Night\Night.b3d")
LoadAnimSeq  night\mesh,"D:\Strategy\Data\Models\Night\Night-run.b3d"
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-deth.b3d"
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-fight.b3d"
night\weapun=FindChild(night\mesh,box01)
EndIf
End Function

пишет Variable must be a type! на night\x - почему?
 
deejexДата: Вторник, 02.02.2010, 16:40 | Сообщение # 2
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
>night.night=New night
так нельзя!
назови тип Tnight
и напиши в том месте
night.Tnight=New Tnight

p.s.: то что ты написал работало бы в блиц плюс






Сообщение отредактировал deejex - Вторник, 02.02.2010, 16:40
 
VirusssДата: Вторник, 02.02.2010, 20:00 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Code
Function new_enemy(tf%)  
If tf%=True Then  
night.Tnight=New Tnight  
night\x=cursor3d\x  
night\y=cursor3d\y  
night\hp=300  
night\mesh=LoadAnimMesh("D:\Strategy\Data\Models\Night\Night.b3d")  
LoadAnimSeq  night\mesh,"D:\Strategy\Data\Models\Night\Night-run.b3d"  
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-deth.b3d"  
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-fight.b3d"  
night\weapun=FindChild(night\mesh,box01)  
EndIf  
End Function

таже ошыбка выводится.
 
TIIДата: Вторник, 02.02.2010, 21:04 | Сообщение # 4
ламер
Группа: Пользователи
Сообщений: 43
Награды: 1
Репутация: 3
Статус: Offline
а где ты тип указываешь? Должно быть в начале модуля.
Type Tnight
field pole1
field pole1
....
end type
 
VirusssДата: Вторник, 02.02.2010, 21:34 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
да-да это я написал...модуль это в смысле где?
 
TIIДата: Вторник, 02.02.2010, 22:31 | Сообщение # 6
ламер
Группа: Пользователи
Сообщений: 43
Награды: 1
Репутация: 3
Статус: Offline
выложи весь код, а не отдельную функцию.
 
deejexДата: Среда, 03.02.2010, 09:34 | Сообщение # 7
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Quote (Virusss)
cursor3d\x

кажется я понял в чем ошибка, но лучше действительно выложи код полностью или хотя бы типы




 
ParisHiltonДата: Среда, 03.02.2010, 11:17 | Сообщение # 8
прогер
Группа: Пользователи
Сообщений: 197
Награды: 2
Репутация: 5
Статус: Offline
Я тоже считаю, что собака зарыта в этой строке

Code
night\x=cursor3d\x

тут происходит обращение к типу cursor3d, который не на что не ссылается т. е. не инициализирован в функции.
Должно быть, как вариант, так

Code
Function new_enemy(tf%)    
If tf%=True Then    
    For cursor3d.cursors = Each cursors
night.Tnight=New Tnight    
night\x=cursor3d\x    
night\y=cursor3d\y    
night\hp=300    
night\mesh=LoadAnimMesh("D:\Strategy\Data\Models\Night\Night.b3d")     
LoadAnimSeq  night\mesh,"D:\Strategy\Data\Models\Night\Night-run.b3d"    
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-deth.b3d"    
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-fight.b3d"    
night\weapun=FindChild(night\mesh,box01)    
    Next
EndIf    
End Function


Мы ищем предмет цели для того чтобы найти результаты его следствия

Сообщение отредактировал ParisHilton - Среда, 03.02.2010, 11:19
 
VirusssДата: Среда, 03.02.2010, 16:20 | Сообщение # 9
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Да это правда, я ошыбся заменил на EntityX(cursor3d), но при вызаве функции обьект не подгружается...я вот что не могу понять: указав в типе переменные х и у
а потои изменяя их значения блиц их разве приймет за координаты? а может указывать координаты для night\mesh?Но модели нет всеравно....может я как то не
правильно все понял в типах?
 
deejexДата: Среда, 03.02.2010, 20:38 | Сообщение # 10
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Function new_enemy(tf)
If tf=True Then
night.Tnight=New Tnight
night\x=EntityX(cursor3d)
night\y=EntityY(cursor3d)
night\hp=300
night\mesh=LoadAnimMesh("D:\Strategy\Data\Models\Night\Night.b3d")
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-run.b3d"
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-deth.b3d"
LoadAnimSeq night\mesh,"D:\Strategy\Data\Models\Night\Night-fight.b3d"
night\weapon=FindChild(night\mesh,"box01")
EndIf
UpdateNights
End Function

Function UpdateNights() ;Вот те функция для апдейтинга
For night.Tnight = Each Tnight
PositionEntity night\mesh,night\x,night\y,0
Next
End Function

---

Короче как то так




 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Не пашут типы...
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: