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

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

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

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

Ответ
 
Опции темы
Старый 03.10.2007, 19:45   #1
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Проблема при чтении AnimSeq с файла

допустим у меня в текстовом файле

12
34
52
64
78
99

непарная строка - первый кадр анимсека, парная - последний !!

читаю их с файла

ExtractAnimSeq model, Int(ReadLine(File)),Int(ReadLine(File))
.........
потом анимирую модель
Animate model,1,1,1; должен играть первый анимсек, а играет вся анимка т.е. нулевай анимсек !!
В чем проблема ??

кста, даные с файла читаются - это 100 проц !!
(Offline)
 
Ответить с цитированием
Старый 03.10.2007, 20:18   #2
jimon
 
Сообщений: n/a
Re: Проблема при чтении AnimSeq с файла

IGR
порядок поступления аргументов в функцию не определяется
тоесть если ты пишеш blabla(a1(),a2())
то что будет сначала вызвано a1 или a2 не известно
поетому сначала прочитай инфу в переменые
а только потом вызывай функцию
 
Ответить с цитированием
Старый 03.10.2007, 21:59   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Проблема при чтении AnimSeq с файла

верно.
в блице кстати более менее определен - задом наперед.
(Offline)
 
Ответить с цитированием
Старый 04.10.2007, 13:16   #4
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проблема при чтении AnimSeq с файла

да, я кста потом анимсеки в масив загнал, и потом их оттуда читал !!

ExtractAnimSeq model (mas(0,0)),mas(0,1))
...

и всё равно тоже самое !!

а может LoadAnimSeq надо ??
(Offline)
 
Ответить с цитированием
Старый 04.10.2007, 14:41   #5
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Проблема при чтении AnimSeq с файла

А зачем такое вообще нужно, чтоб из файла анимсеки считывать? это чушь, уж если и записывать то в код. Подумай, нужно ли это настолько тебе , чтоб тратить на это время?!
(Offline)
 
Ответить с цитированием
Старый 04.10.2007, 14:54   #6
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: Проблема при чтении AnimSeq с файла

Ладно еслиб у тебя было 30-150 моделий которые нужно анимаровать по частям, то тогда ето былобы актуально, а так! хотя имхо и так тожа нече!(шарится в коде не надо, открыл блокнот и поменял что надо!)
(Offline)
 
Ответить с цитированием
Старый 04.10.2007, 17:20   #7
jimon
 
Сообщений: n/a
Re: Проблема при чтении AnimSeq с файла

моделер открыл 2 метровый код игры, поменял пару чисел
и отправил на главный сервер компилироватся

да вас нафиг уволят через 2 дня работы
 
Ответить с цитированием
Старый 04.10.2007, 23:54   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Проблема при чтении AnimSeq с файла

как ты считывал в массив?
(Offline)
 
Ответить с цитированием
Старый 05.10.2007, 12:05   #9
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проблема при чтении AnimSeq с файла

как ты считывал в массив?
так же само:
ReadLine$(file)
а что ??

но с файла всё четается - это 100 проц !!
(Offline)
 
Ответить с цитированием
Старый 05.10.2007, 16:44   #10
jimon
 
Сообщений: n/a
Re: Проблема при чтении AnimSeq с файла

IGR
давай код
 
Ответить с цитированием
Старый 05.10.2007, 17:19   #11
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проблема при чтении AnimSeq с файла

gwidth = 800
gheight = 600


Graphics3D gwidth,gheight,32,2
HidePointer


Global player = CreatePivot()
PositionEntity player,0,45,-300
Global FPS,LastCheck,Frames,campitch#,mvx#,mvy#,mvz#
Global C = CreateCamera(player)
CameraClsColor C,0,0,0
CameraRange C,0.1,1500
CameraClsColor C,0,0,0;128,128,150
CameraFogRange C,500,1300
CameraFogMode C,1
CameraFogColor C,0,0,0;128,128,150


mx = MouseX()
my = MouseY()

plan = CreatePlane ()
p_t = LoadTexture ("Stone3_t2.jpg")
ScaleTexture p_t,100,100
EntityTexture plan,p_t



;======||===== BEGIN ANIMATION ====||==================
Const anim_stay = 1;
Const anim_walk = 2;
Const anim_go = 3;
Const anim_attack = 4;
Const anim_die = 5;
;=========== END ========================




;=======||======= ENEMY MODES =======
; режимы поведения врагов
Const emod_stay% = 1; свободная стойка
Const emod_walk% = 2; свободная ходьба
Const emod_go% = 3; враг направляется к персу
Const emod_attack% = 4; враг атакует перса
Const emod_die% = 5; враг умерает
;=======||=======||=======||=======



Type enemy
Field e_pivot; повот
Field e_model; модель
Field e_point; вей-поинт
Field e_name$; имя врага
Field e_mode; режим врага
Field e_life; жизнь врага
Field e_alert
End Type

Dim d_en.enemy(10); максимальное количество врагов
Global NumEnemy = -1

Dim EnemySeq(5,2)
EnemySF = OpenFile("enemies\dwarf\dwarf_anim.txt")
For i=0 To 4
EnemySS = ReadLine$(EnemySF)
EnemySeq(i,0) = EnemySS
EnemySS = ReadLine$(EnemySF)
EnemySeq(i,1) = EnemySS
Next
CloseFile(EnemySF)

Global EModPath$ = "enemies\"
; Создать_Врага(модель$,имя$,состояние%,X%,Y%,Z%,ang le%)
Function CRT_enemy(f_model$,f_name$,f_mode%,EX%,EY%,EZ%,Ang le%)

NumEnemy = NumEnemy + 1

d_en(NumEnemy) = New enemy
d_en(NumEnemy)\e_pivot = CreateSphere()
d_en(NumEnemy)\e_point = CreateSphere()
;PositionEntity d_en(NumEnemy)\e_point, EX, EY, EZ
PositionEntity d_en(i)\e_point,EntityX(d_en(i)\e_point)+Rnd(-P_di,P_di),EntityY(d_en(i)\e_point),EntityZ(d_en(i )\e_point)+Rnd(-P_di,P_di)
PositionEntity d_en(NumEnemy)\e_pivot, EX, EY, EZ
d_en(NumEnemy)\e_model = LoadAnimMesh(EModPath$+f_model$+"\"+f_model$+".b3d ",d_en(NumEnemy)\e_pivot)
PositionEntity d_en(NumEnemy)\e_model, 0,0,0
EntityType d_en(NumEnemy)\e_pivot, TypeEnemy
EntityRadius d_en(NumEnemy)\e_pivot, 40
d_en(NumEnemy)\e_name$ = f_name$

; вариан с ЧТЕНИЕМ Сикуенсов с масива
;ExtractAnimSeq (d_en(NumEnemy)\e_model,EnemySeq(0,1),EnemySeq(0,1 ))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,EnemySeq(1,1),EnemySeq(1,1 ))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,EnemySeq(2,1),EnemySeq(2,1 ))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,EnemySeq(3,1),EnemySeq(3,1 ))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,EnemySeq(4,1),EnemySeq(4,1 ))

; вариан с ЧТЕНИЕМ Сикуенсов с файла
;EAF = OpenFile(EModPath$+f_model$+"\"+f_model$+_anim.txt ")
;ExtractAnimSeq (d_en(NumEnemy)\e_model,Int(ReadLine$(EAF)),Int(Re adLine$(EAF)))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,Int(ReadLine$(EAF)),Int(Re adLine$(EAF)))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,Int(ReadLine$(EAF)),Int(Re adLine$(EAF)))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,Int(ReadLine$(EAF)),Int(Re adLine$(EAF)))
;ExtractAnimSeq (d_en(NumEnemy)\e_model,Int(ReadLine$(EAF)),Int(Re adLine$(EAF)))
;CloseFile(EAF)

ExtractAnimSeq (d_en(NumEnemy)\e_model,75,8
ExtractAnimSeq (d_en(NumEnemy)\e_model,2,14)
ExtractAnimSeq (d_en(NumEnemy)\e_model,16,26)
ExtractAnimSeq (d_en(NumEnemy)\e_model,112,126)
ExtractAnimSeq (d_en(NumEnemy)\e_model,230,251)


ScaleEntity d_en(NumEnemy)\e_model,1,1,1
d_en(NumEnemy)\e_mode = f_mode%
d_en(NumEnemy)\e_alert = f_mode%
EntityPickMode d_en(NumEnemy)\e_model, 2
NameEntity d_en(NumEnemy)\e_model, "model DWARF"
d_en(NumEnemy)\e_life = 100
TurnEntity d_en(NumEnemy)\e_pivot, 0, Angle, 0

End Function

;константы разстояния и атаки
Const V_di = 200; Visible_DIstance - бот замечает перса
Const S_di = 400; Stay_DIstance - бот наченает движение, если стоял
Const A_di = 70; Attack_DIstance - бот атакует
Const P_di = 500; Pivot_DIstance - создается вей-пивот

Global BOT$ = " "
Global BOT_LIFE
Global MYLIFE# = 300
Global KILLS = 0





Repeat




UDT_enemy()

move_me()

UpdateWorld
RenderWorld
GetFPS()
Text 10,10,FPS
Text 10,30,"X "+Str(EntityX(player))+" Y "+EntityY(player)+" Z "+EntityZ(player)
Text 10,70,"POLYGONS: " + TrisRendered()
Text 10,90,BOT$
Text 10,110,Str(BOT_LIFE)
Text 10,130,Str(MYLIFE)
Text 10,150,Str(KILLS)


Text 200,10,EnemySeq(0,0)+" - "+EnemySeq(0,1)
Text 200,30,EnemySeq(1,0)+" - "+EnemySeq(1,1)
Text 200,50,EnemySeq(2,0)+" - "+EnemySeq(2,1)
Text 200,70,EnemySeq(3,0)+" - "+EnemySeq(3,1)
Text 200,90,EnemySeq(4,0)+" - "+EnemySeq(4,1)

Flip False
Until KeyHit(1)

End


Function GetFPS()
Frames = Frames + 1

If MilliSecs() > LastCheck+1000 Then
LastCheck = MilliSecs()
FPS = Frames
Frames = 0
EndIf
Return FPS
End Function

Function move_me()

V#=0.7
u#=60
TurnEntity c,MouseYSpeed()*0.25,0,0
TurnEntity player,0,-MouseXSpeed()*0.25,0
If KeyDown(30)=1 Then MoveEntity player,-V#,0,0
If KeyDown(32)=1 Then MoveEntity player,V#,0,0
If KeyDown(17)=1 Then MoveEntity player,0,0,+V#
If KeyDown(31)=1 Then MoveEntity player,0,0,-V#:iWalking = True
If KeyDown(203)=1 Then MoveEntity player,-V#,0,0
If KeyDown(205)=1 Then MoveEntity player,V#,0,0
If KeyDown(200)=1 Then MoveEntity player,0,0,+V#
If KeyDown(20=1 Then MoveEntity player,0,0,-V#

MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(c))>u# RotateEntity c,u#*Sgn(EntityPitch#(c)),0,0

End Function
(Offline)
 
Ответить с цитированием
Старый 05.10.2007, 17:25   #12
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Проблема при чтении AnimSeq с файла

ИГР: нужен был только этот кусок, мог и не заваливать на всю страницу.
Dim EnemySeq(5,2)
EnemySF = OpenFile("enemies\dwarf\dwarf_anim.txt")
For i=0 To 4
EnemySS = ReadLine$(EnemySF)
EnemySeq(i,0) = EnemySS
EnemySS = ReadLine$(EnemySF)
EnemySeq(i,1) = EnemySS
Next
CloseFile(EnemySF)
(Offline)
 
Ответить с цитированием
Старый 05.10.2007, 17:44   #13
jimon
 
Сообщений: n/a
Re: Проблема при чтении AnimSeq с файла

Dim EnemySeq%(5,2)
EnemySF = OpenFile("enemies\dwarf\dwarf_anim.txt")
For i=0 To 4
EnemySeq(i,0) = Int(ReadLine$(EnemySF))
EnemySeq(i,1) = Int(ReadLine$(EnemySF))
Next 
CloseFile(EnemySF)
 
Ответить с цитированием
Старый 05.10.2007, 17:46   #14
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проблема при чтении AnimSeq с файла

jimon, thank U very mach !!
(Offline)
 
Ответить с цитированием
Старый 07.10.2007, 22:06   #15
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Re: Проблема при чтении AnimSeq с файла

Кстати, я раньше никогда не делал через int, просто писал readline без $ и все работало. (и кроме того так должно быть быстрее)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачка файла impersonalis Полезные функции 10 26.09.2010 21:15
Кодирование файла zheland Алгоритмика 2 06.08.2008 02:47
Тайл из файла Horror 3D-программирование 10 05.05.2007 01:10
Считывание из файла nJunk 3D-программирование 12 19.04.2007 15:44
Чтение из файла Gnom 3D-программирование 2 15.03.2006 01:40


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


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