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

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

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

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 26.03.2011, 21:48   #1
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Фак по Юнити.

Можно ли записать byte,short,int в Unity3d в бинарном виде?

using UnityEngine;
using System.Collections;
using System.IO;

public class 
SaveMap MonoBehaviour {

    
// Use this for initialization
    
void Start () {
        
StreamWriter sw = new StreamWriter(Application.dataPath "/info.txt");
        for(
int i=0;i<200;i++){
            
sw.Write((int)i);
        }    
        
//fileContents = sr.ReadToEnd();
        
sw.Close();
    }


Сохраняет в виде символьного текста:
01234567891011121314151617181920212223242526272829 30....

а нужно в виде 4 байтных последовательностей.
(Offline)
 
Ответить с цитированием
Старый 26.03.2011, 22:07   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Вам сюда: System.IO.BinaryWriter
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Evgen (26.03.2011), HolyDel (27.03.2011)
Старый 26.03.2011, 22:34   #3
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Как сохранять данные в бинарном виде в Net и Mono

Тогда как-то так. Запись float например.

using UnityEngine;
using System.Collections;
using System.IO;

public class 
SaveMap MonoBehaviour {

    
// Use this for initialization
    
void Start () {
        
FileStream fs = new FileStream(Application.dataPath "/info.txt"FileMode.Create);
        
BinaryWriter w = new BinaryWriter(fs);
        for(
int i=0;i<200;i++){
            
w.Write((float)i);
        }    
        
w.Close();
    }



Последний раз редактировалось Evgen, 26.03.2011 в 23:40.
(Offline)
 
Ответить с цитированием
Старый 26.03.2011, 22:50   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Как сохранять данные в бинарном виде в Net и Mono

Что это за сообщение без комментариев? Еще такие будут, буду удалять.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Evgen (27.03.2011)
Старый 26.03.2011, 23:43   #5
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Как сохранять данные в бинарном виде в Net и Mono

Андрей, коммент добавлен, раз такие правила
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (27.03.2011)
Старый 27.03.2011, 14:14   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Как сохранять данные в бинарном виде в Net и Mono

Сообщение от Evgen Посмотреть сообщение
Андрей, коммент добавлен, раз такие правила
Да не в правилах дело. Просто может ты и знаешь цель своего поста, другие то нет, вот и хочется, чтобы ты прокомментировал свой пост, давая ему значение. А то это был вопрос, или конечный пост - непонятно..

Небольшой совет в использовании Stream'ов, использовать using, с которым даже при ошибки которую можно будет словить (try, catch), то поток закроется, и не будет утечки памяти плюс закрытие потоков будет автоматическим:

using UnityEngine;
using System.Collections;
using System.IO;

public class SaveMap : MonoBehaviour {
  // Use this for initialization
  void Start () {
    using (FileStream fs = new FileStream(Application.dataPath + "/info.txt", FileMode.Create)) {
      using (BinaryWriter w = new BinaryWriter(fs)) {
        for(int i=0;i<200;i++){
          w.Write((float)i);
        }
      }
    }
  }
}
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
Evgen (27.03.2011), HolyDel (27.03.2011), pax (27.03.2011)
Ответ


Опции темы

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

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


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


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