Воскресенье, 19 Мая 2024, 17:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Storm54 [456]
Результаты поиска
Storm54Дата: Суббота, 14 Июня 2014, 23:22 | Сообщение # 221 | Тема: Поисковая система для игроделов
постоянный участник
Сейчас нет на сайте
На все вопросы, которые могут возникнуть у новичка, можно найти ответ в интернете за 1-2 минуты.
Если люди не умеют искать, значит руки не из того места растут, а если руки не из того места растут, то делать в геймдеве им нечего.
На таком же сайте будут именно статьи для новичков. Ответы на более узкие темы вы не сможете выложить в виду своей некомпетентности.
В итоге сайт абсолютно бесполезен. Если не нравится реклама, то можно на Hostinger создать. Там вообще можно заливать двиг с нуля.
Storm54Дата: Суббота, 14 Июня 2014, 23:15 | Сообщение # 222 | Тема: Считывание строк из файла
постоянный участник
Сейчас нет на сайте
Если ООП не проходили, то делай через getline, иначе бери любой вариант, описанный ниже.
Storm54Дата: Суббота, 14 Июня 2014, 23:13 | Сообщение # 223 | Тема: Ctrl + V
постоянный участник
Сейчас нет на сайте
Цитата
VXP
Storm54Дата: Суббота, 14 Июня 2014, 23:13 | Сообщение # 224 | Тема: Набор в команду. Разработка игр
постоянный участник
Сейчас нет на сайте
Кем Вы являетесь в проекте?
Storm54Дата: Пятница, 13 Июня 2014, 23:19 | Сообщение # 225 | Тема: Считывание строк из файла
постоянный участник
Сейчас нет на сайте
Понятно. Тогда, конечно, проще писать в файл бинарно, а потом так же читать оттуда.
Сейчас накидаю пример.

Добавлено (13.06.2014, 23:19)
---------------------------------------------
Код
#include <iostream>

using namespace std;

struct students
{
char fam[15];
int his;
int math;
int phys;
int prog;
int bio;
int happy;
};       

void SaveToFile(students* lp, int count, const char* filename)
{
       FILE*f;
       f=fopen(filename,"wb");       
             
       fwrite(&count, sizeof(int), 1, f);
       for(int i=0;i<count;i++)
       {
        fwrite(&lp[i].fam, sizeof(char), 15, f);
        fwrite(&lp[i].his, sizeof(int), 1, f);       
        fwrite(&lp[i].math, sizeof(int), 1, f);       
        fwrite(&lp[i].phys, sizeof(int), 1, f);       
        fwrite(&lp[i].prog, sizeof(int), 1, f);       
        fwrite(&lp[i].bio, sizeof(int), 1, f);       
        fwrite(&lp[i].happy, sizeof(int), 1, f);       
       }
       fclose(f);
}

void LoadFromFile(students*& lp, int& count, const char* filename)
{
       FILE*f;
       f=fopen(filename,"rb");       
             
       fread(&count, sizeof(int), 1, f);
             
       lp = new students[count];
             
       for(int i=0;i<count;i++)
       {
        fread(&lp[i].fam, sizeof(char), 15, f);
        fread(&lp[i].his, sizeof(int), 1, f);       
        fread(&lp[i].math, sizeof(int), 1, f);       
        fread(&lp[i].phys, sizeof(int), 1, f);       
        fread(&lp[i].prog, sizeof(int), 1, f);       
        fread(&lp[i].bio, sizeof(int), 1, f);       
        fread(&lp[i].happy, sizeof(int), 1, f);       
       }
             
       fclose(f);
}

int main(int argc, char *argv[])
{
       students arr[30];

       //Здесь где-нибудь заполняем всех студентов
       //...
       //Сохраняем данные в файл
             
       SaveToFile(arr,30,"file.dat");//передаем указатель на массив студентов, кол-во данных в массиве и имя файла.
       //Данные сохранены, теперь можно их загрузить в другой массив
             
       students* lp;
       int count;
             
       LoadFromFile(lp,count,"file.dat");//передаем любой указатель(функция присвоит ему адрес загруженного массива), переменную, в которую будет занесено кол-во элементов в массиве и имя файла.
             
       //Данные загружены. Можем работать с ними.
       //...
             
       //Не забудем убрать за собой.
       delete[] lp;
}


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


Сообщение отредактировал Storm54 - Пятница, 13 Июня 2014, 23:31
Storm54Дата: Пятница, 13 Июня 2014, 22:22 | Сообщение # 226 | Тема: Считывание строк из файла
постоянный участник
Сейчас нет на сайте
Через пару минут скину полный пример.

Добавлено (13.06.2014, 22:22)
---------------------------------------------
Код
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
       string str;
       int count=0;
       ifstream f("file.txt");    
          
       cout << "input first string number:";
       int number;
       cin >> number;
          
       while(!f.eof())
       {      
           getline(f, str);
           ++count;
           if (count==number)
           {
         
      for(int i=0;i<10;i++)
      {
       cout << str << endl;
       getline(f, str);
      }
         
      break;
     }
                    
        }      

       
        f.close();
        cout << endl;
        system("PAUSE");
        return 0;
}


Вот. Доходим до номера строки, введенного вначале программы и выводим 10 строк, включая и ту, которую указали.
Если есть вопросы по коду- задавай.


Сообщение отредактировал Storm54 - Пятница, 13 Июня 2014, 22:24
Storm54Дата: Пятница, 13 Июня 2014, 22:13 | Сообщение # 227 | Тема: Считывание строк из файла
постоянный участник
Сейчас нет на сайте
Если строки фиксированного размера, то можно попробовать сначала вызвать fseek, чтобы передвинуть курсор на нужную строку, а потом просто прочитать 10 строк.
Если длина строки неизвестна, то можешь просто вызывать getline, пока не дойдешь до первой, нужной тебе, строки, а с нее уже начинать работу.
Storm54Дата: Пятница, 13 Июня 2014, 12:24 | Сообщение # 228 | Тема: Вопрос-[ответ] по Unity
постоянный участник
Сейчас нет на сайте
Цитата
Да согласен, углы Эйлера и кватернионы не понятная штука) Да и вообще не школьная программа.

Углы эйлера - школьная.
Storm54Дата: Пятница, 13 Июня 2014, 12:04 | Сообщение # 229 | Тема: [3D]The Lost World
постоянный участник
Сейчас нет на сайте
Цитата {Game-Maker}Maxs ()
для опыта в самый раз!

Тогда зачем это в идеях для реализации? Идеи как таковой и нет, команду ты не собираешь.


Сообщение отредактировал Storm54 - Пятница, 13 Июня 2014, 12:05
Storm54Дата: Пятница, 13 Июня 2014, 11:54 | Сообщение # 230 | Тема: [3D]The Lost World
постоянный участник
Сейчас нет на сайте
Цитата {Game-Maker}Maxs ()
что бы узнать мнение людей!

Хорошо. На данный момент в идее я ничего нового не увидел. Ядерная война, пост апокалипсис...
Получается какой-то Follaut. Ты, конечно, можешь сказать, что это будет совсем иного вида проект, но тогда приведи пример, чем именно он будет отличаться от других пост апокалиптических поделок.
Скриншоты комментировать действительно нет смысла, т.к. на сцене всего 2 модели, террейн и вода.


Сообщение отредактировал Storm54 - Пятница, 13 Июня 2014, 11:55
Storm54Дата: Пятница, 13 Июня 2014, 11:38 | Сообщение # 231 | Тема: Деревья, взаимодействие с ними.
постоянный участник
Сейчас нет на сайте
Любое дерево из террайна можно вытащить, есть парочка методов для этого. В документации к террейну все описано. Добавление аналогично.

Сообщение отредактировал Storm54 - Пятница, 13 Июня 2014, 11:38
Storm54Дата: Четверг, 12 Июня 2014, 18:10 | Сообщение # 232 | Тема: Ваши любимые игры
постоянный участник
Сейчас нет на сайте
The Elder Scrolls III: Morrowind
C&C: Red Alert 2
Storm54Дата: Пятница, 06 Июня 2014, 22:22 | Сообщение # 233 | Тема: Уроки по ue4
постоянный участник
Сейчас нет на сайте
А зачем прыгать с движка на движок? UE4 заточен под более узкие проекты, да и ресурсов он жрет в разы больше. Проще 5 версии юнити дождаться.
Storm54Дата: Пятница, 06 Июня 2014, 20:59 | Сообщение # 234 | Тема: wstring resize
постоянный участник
Сейчас нет на сайте
Собственно, вопрос в следующем:
если использовать класс string и вызвать метод resize(x), то понятно, что выделится память, равная x байтам, т.к. char = 1 байт.
А что, собственно, с классом wstring? метод resize принимает в качестве параметра кол-во байт, которое нужно выделить или количество символов, под которые будет выделена память?
Storm54Дата: Пятница, 06 Июня 2014, 11:08 | Сообщение # 235 | Тема: Набор в команду игроделов на Unity3D
постоянный участник
Сейчас нет на сайте
kalumb, если команда большая(от 20 человек), то там уже могут понадобиться менеджеры, задача которых и будет вести контроль над производством. В команде из пяти человек они нафиг не нужны.
Цитата
человек, принимающий окончательное решение
за какие решения он будет отвечать? Как назвать игру? Каким цветом будет меню? То есть получается, что он будет просто диктовать свои требования, при этом ничего не делая.
Цитата
В любом случае в команде должен быть человек, который будет тянуть весь проект.

Чтобы человек тянул проект, он должен по меньшей мере обладать хорошими навыками хотя бы в одной области или обладать средствами, с помощью которых он будет завлекать будущих членов команды. В данном случае нет ни того, ни другого(по крайней мере об этом не упоминалось)
Цитата
Если человек собирает команду — то понятно, что он будет править балом и от него будет зависеть судьба проекта.

Обычно такие люди хотя бы финансируют проект. За бесплатно никто просто так вверх не попадет.
Storm54Дата: Четверг, 05 Июня 2014, 22:25 | Сообщение # 236 | Тема: Набор в команду игроделов на Unity3D
постоянный участник
Сейчас нет на сайте
Цитата
всеми по немножку

Значит ничего не умеешь. Возникает вопрос: зачем ты будешь нужен команде? Они из без тебя справятся.


Сообщение отредактировал Storm54 - Четверг, 05 Июня 2014, 22:45
Storm54Дата: Среда, 04 Июня 2014, 23:24 | Сообщение # 237 | Тема: DirectX 11 и Steam
постоянный участник
Сейчас нет на сайте
Лично для меня главная особенность 11 икса - многопоточный рендеринг, который будет очень заметен на двухголовых видеокартах - собственно они и заполонят полностью рынок через пару лет.
В текущей версии юнити ты этого не получишь, да и если получишь, скажем в пятой, то особый смысл от этого будет только на многоядерных видеокартах(как я описал выше), но т.к. такие видеокарты очень дорогие, следовательно тебе нужно будет создавать действительно красивую и проработанную сцену. При твоей же концепции это мягко говоря проблематично - мир-то кубический.

Добавлено (04.06.2014, 23:24)
---------------------------------------------

Цитата
не путай нормал\бамп с параллаксом

парралакс дополнительно сдвигает текстурные координаты, а так тоже самое.
Storm54Дата: Среда, 04 Июня 2014, 23:15 | Сообщение # 238 | Тема: DirectX 11 и Steam
постоянный участник
Сейчас нет на сайте
Цитата robertono ()
а бамп маппинг (вроде тот же нормал мап) что делает тогда?

смещает пиксели на текстуре, относительно источника освещения. Тесселяция добавляет непосредственно полигонов, используя туже карту высот.
На самом деле не так уж и заметна эта тесселяция и реализована она была далеко до 11 версии API, просто маркетинг делает свое дело.
Storm54Дата: Среда, 04 Июня 2014, 23:11 | Сообщение # 239 | Тема: DirectX 11 и Steam
постоянный участник
Сейчас нет на сайте
А что у тебя вообще за игра? Игры, которые вышли на продажу в стим и кажутся простыми, могли потихоньку пиарить: общались с прессой, выкладывали всякие трейлеры и т.п.
Если просто взять и выложить игру в гринлайт, о которой до этого никто не слышал, то так она там и пролежит, набрав пару сотен одобрений.
К тому же я не думаю, что ты сможешь выжать все из 11 икса. Будет только пустой звон.


Сообщение отредактировал Storm54 - Среда, 04 Июня 2014, 23:11
Storm54Дата: Среда, 04 Июня 2014, 23:07 | Сообщение # 240 | Тема: DirectX 11 и Steam
постоянный участник
Сейчас нет на сайте
Игру можно запускать с параметрами запуска, среди которых и есть dx9 и dx11 параметры. В документации все это описано.
Форум игроделов » Записи участника » Storm54 [456]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг