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


  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Сохранение,загрузка
Сохранение,загрузка
VirusssДата: Понедельник, 05.10.2009, 21:55 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Часто(очень часто) в играх можна встретить команды "Загрузить" или "Сохранить",а вот до меня что то не доходит:
по какому принцепу работают эти команды?Как они сохраняют или загружают игру?Обьясните кто нибудь мне пожалуйста happy
 
SpidyДата: Понедельник, 05.10.2009, 22:17 | Сообщение # 2
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Перед сохранением происходит просчет всех элементов уровня, все координаты объектов, их положение и др. дополнительные параметры...

Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
VirusssДата: Среда, 07.10.2009, 21:34 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Spidy, ты знаеш как например сотворить простинькую сцену:например если стрелочками двигаеш кубик,
а перед входом оно тебя спрашывает "Загрузить" или "Сохранить" если первое - то то кубик появляется там где ты его и оставлял,а еси 2-ое - то с координаты 0,0,0. Ну или что то на подобие этого... wink (короче чтоб оно в памяти сохраняло предыдущие действия)

Добавлено (07.10.2009, 21:34)
---------------------------------------------
У меня появилась идея!И соответственно возник новый вопрос:еси у меня есть текстовый файл с частью кода то как мне из блица в него что либо добавить или считать?

 
SpidyДата: Среда, 07.10.2009, 22:45 | Сообщение # 4
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Code

; Reading and writing a file using ReadString$ and WriteString functions  

; Initialise some variables for the example  
String1$ = "A short string"  
String2$ = "A longer string since these are variables lengths"  
String3$ = "This is string3 "  
String4$ = "joined to string4"  

; Open a file to write to  
fileout = WriteFile("mydata.dat")  

; Write the information to the file  
WriteString( fileout, String1 )  
WriteString( fileout, String2 )  
WriteString( fileout, String3 + String4)  
WriteString( fileout, "Just to show you don't have to use variables" )  

; Close the file  
CloseFile( fileout )  
; Open the file to Read  
filein = ReadFile("mydata.dat")  

Read1$ = ReadString$( filein )  
Read2$ = ReadString$( filein )  
Read3$ = ReadString$( filein )  
Read4$ = ReadString$( filein )  

; Close the file once reading is finished  
CloseFile( filein )  

Print "String Variables Read From File - mydata.dat "  
Print  
Print Read1  
Print Read2  
Print Read3  
Print Read4  

WaitKey()   

Сохраняй все что необходимо в файл, потом перед загрузкой считывай этот файл


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
VirusssДата: Четверг, 08.10.2009, 18:42 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
а можна вместо "String1$" в WriteString( fileout, String1 ) писать текст?(ну в "" сразу?)

Добавлено (08.10.2009, 18:42)
---------------------------------------------
а да - могу(не увидел) еще еси у меня Х%=2,я могу написать так:
String1$ = X$
fileout = WriteFile("mydata.dat")
WriteString( fileout, String1 )???
CloseFile( fileout )
и
Read1$ = ReadString$( filein )
Read2$ = ReadString$( filein ) - в чем разница?И последнее:мы говорили о загрузке получается я должен внести в
"WriteString" - весь код,а еси там есть что то то просто все считать? wink

 
SpidyДата: Четверг, 08.10.2009, 23:53 | Сообщение # 6
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Идея такова:

В файл нужно вогнать координаты всех объектов на карте.
Можно также докинуть в этот файл все что душе угодно, вплоть до каких-то значений переменных

Затем подгружаем карту и в соответствии с нашим файлом сохранения подгружаем к уровню сверяясь с координатами главного героя и все объекты. Затем из того же файла считываем технические данные такие как например количество пуль в обойме и т.д.


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
VirusssДата: Понедельник, 12.10.2009, 07:16 | Сообщение # 7
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Ну да - я имел в виду что то похожее,но я таки не понимаю разнецу между этим:

Read1$ = ReadString$( filein )
Read2$ = ReadString$( filein )

но в остальном, с загрузкой и сохранением все понятно. happy Спасибо за помощь! cheesygrin

Добавлено (12.10.2009, 07:16)
---------------------------------------------
Так в чём же разница?И как стереть все из файла?(предыдущее сохранение)

 
blitz3dДата: Понедельник, 12.10.2009, 10:14 | Сообщение # 8
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
Quote
Так в чём же разница?И как стереть все из файла?(предыдущее сохранение)

Разницы нет! Просто в первой строчке ты считываешь текст из файла в переменную Read1$
Во второй строчке ты считываешь текст из файла в переменную Read2$

Соответственно переменные Read1$ и Read2$ равны

Quote
Так в чём же разница?И как стереть все из файла?(предыдущее сохранение)

Стереть файл можно, сохранив в него пустую строчку


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
VirusssДата: Вторник, 13.10.2009, 15:59 | Сообщение # 9
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Quote (blitz3d)
Стереть файл можно, сохранив в него пустую строчку

???????
типа то что я сохраняю - заменяет собой все что в файле есть???
 
SpidyДата: Вторник, 13.10.2009, 20:34 | Сообщение # 10
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Смотря как открыть файл
можно открыть для записи, тогда он перезапишет файл заново, стерев все прошлые данные
можно открыть файл для дополнения его новыми битами

обычно используют первый вариант

Чтобы не потерять данные из файла необходимо сначала его считать и сохранить, скажем, в какой-нибудь массив. Затем можно перезаписывать файл.


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Сохранение,загрузка
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: