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

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

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

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

Ответ
 
Опции темы
Старый 23.12.2006, 03:00   #31
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

у тебя ж вроде и так почти все грузится после нажатия "новая игра"?
перенеси всю загрузку медиа после Wend цикла обработки менЮ.
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 10:59   #32
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

А да всё правильно, я просто музыку грузил перед созданием менюшки. Спасибо.
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 14:45   #33
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

А как реализовать систему сохранения и загрузки и чтобы можно было нажать escape вернуться в меню и сохраниться или загрузить, а игра в это время была на паузе.
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 19:59   #34
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Исправьте код

у тебя когда на шифт нажимаешь чел идет без анимации когда на w с анимацией! зачем? типо бег??
попробуй так
Function updateplayer() 
V#=0.5
If MouseHit(1) 
create_shot(EntityX(robot),1,EntityZ(robot),EntityPitch(cam),EntityYaw(robot) - 90,0)
If AnimSeq(robot)<>an2 Then Animate robot,3,1,an2;CTPEJIb6A
EndIf
;42=shift 17=w 30=a 31=s 32=d
If KeyDown(17) Or KeyDown(31) Or KeyDown(30) Or KeyDown(32)
If KeyDown(17) 
If KeyDown(42)
If AnimSeq(robot)<>an1 Then Animate robot,1,1,an1 ;6er
MoveEntity robot,V#*2,0,0
Else
If AnimSeq(robot)<>an1 Then Animate robot,1,0.5,an1 ;][ogb6A
MoveEntity robot,V#,0,0
EndIf
EndIf
If KeyDown(31)
If AnimSeq(robot)<>an1 Then Animate robot,1,0.5,an1 ;HA3ag
MoveEntity robot,-V#,0,0
EndIf
If KeyDown(30)
If AnimSeq(robot)<>an1 Then Animate robot,1,0.5,an1 ;JIEBO
MoveEntity robot,0,0,V#
EndIf
If KeyDown(32)
If AnimSeq(robot)<>an1 Then Animate robot,1,0.5,an1 ;npaBo
MoveEntity robot,0,0,-V#
EndIf
Else
If AnimSeq(robot)<>an3 Then Animate robot,1,0.5,an3 ;CTOuT
EndIf
End Function 
B main()
updateplayer()
ПС я типо тоже начинающий) но код у меня работает если что))
а на твой вопрос про паузу тоже хотелбы узнатть ответ !
буду ждать...
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 20:05   #35
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

насчет пузы:
[blitz]
if keyhit(25) ;P
pause=1
endif
while pause
text 400,300,"ПАУЗА, БЛИН",1,1
flip
if keyhit(25) then pause=0
wend
[/blitz]
должно работать, хотя пысалось в браузере, поэтому ХЗ
(Offline)
 
Ответить с цитированием
Старый 23.12.2006, 20:07   #36
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

насчет сохранения.
придется писать в файл, есть команды WriteFile, ReadFile, ReadByte и т.д.
придтся сохранять в файл все значимые параметры, и при загрузке восставнавливат их.
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 01:19   #37
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

HolyDel Если я понял правильно тебя то надо зафиксировать последние игровые события и записать в файл. Но как работать этими командами WriteFile, ReadFile, ReadByte? Подскажи.
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 01:31   #38
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

ну, просто для паузы нерационально записывать в файл, и геморно и непроизводительно, а для сохранения самое то.
для примера:
e=writefile("save.acs")
writefloat e,entityx(player)
writefloat e,entityz(player)
writefloat e,entityz(player)
writefloat e,entityyaw(player)
closefile e
ето мы открывпем файл, записываем инфу о объектке, хзакрывем файл.
для загрузки
e=readfile("save.acs")
positionentity player,readfloat(e),readfloat(e),readfloat(e)
rotateentity player,0,readfloat(e),0
closefile e
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 01:35   #39
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Так как мне для моего кода применить? Мне надо создавать функцию создания игрока? Если не трудно помоги.
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 01:51   #40
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

зачем?
пришла пора сохраниться (нажали на кнопку или рещили выйти) запускаем код на запись файла, пришла пора загрузиться читаем из файла. для того чтоб конкретно помочь конкретно в твоей ситуации мне нужен твой конкретный код. музыку могу сам закоментить
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 12:25   #41
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Да код в принципе прежний, у меня там выстрел с анимацией барахлит.

;Стрельба
If MouseHit(1)Animate robot,3,.5,shotAndcreate_shot(EntityX(robot),1,EntityZ(robot),Entity Pitch(cam),EntityYaw(robot) - 90,0)

Закоментируй так, чтобы было просто и ясно
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 20:23   #42
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

2 HolyDel Попробовал сам, но не очень
;Сохранение
If KeyDown(63) e=WriteFile("save.txt") WriteFloat e,EntityX(robot) WriteFloat e,EntityZ(robot) WriteFloat e,EntityZ(robot) WriteFloat e,EntityYaw(robot) CloseFile e
If KeyDown(67) b=ReadFile("save.txt") PositionEntity robot,ReadFloat(b),-.9,ReadFloat(b) RotateEntity robot,0,ReadFloat(b),0 CloseFile b

Когда загружаю игрок позиция таже только по X и Z, а по Y другая вот и написал: ReadFloat(b),-.9

А как у тебя дела с сохранением обстоят?

(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 20:28   #43
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

If KeyDown(63) e=WriteFile("save.txt")
WriteFloat e,EntityX(robot)
WriteFloat e,EntityZ(robot)
WriteFloat e,EntityZ(robot)
WriteFloat e,EntityYaw(robot) CloseFile e
коммнетаории излишне.
(Offline)
 
Ответить с цитированием
Старый 24.12.2006, 23:33   #44
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Так у меня ведь тоже самое.
(Offline)
 
Ответить с цитированием
Старый 25.12.2006, 00:12   #45
jimon
 
Сообщений: n/a
Re: Исправьте код

выделеную Z в коде HolyDel'а замени на Y
если додумаешся зачем - напиши
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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