Четверг, 05 Декабря 2024, 05:16

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
AlkoshaДата: Среда, 24 Декабря 2014, 20:23 | Сообщение # 101 | Тема: Хочу сделать игру типа гта!
участник
Сейчас нет на сайте
"хочу сделать игру типа [%videogame name%]"...

Любопытно, автору удалось таки?

Добавлено (24 декабря 2014, 20:23)
---------------------------------------------
Тож хочу сделать игру на подобии "варфейса","Скайрима", "Зомби-фермы", "танков-онлаин", "доты", "жта5", "тюряги ВКонтакте", "майнкрафта".

AlkoshaДата: Среда, 24 Декабря 2014, 08:43 | Сообщение # 102 | Тема: "Отражения" SDL2.
участник
Сейчас нет на сайте
Цитата Saitei ()
Можно ещё для флипнутой текстуры в случае с водой сделать эффект волны


SDL2 не умеет шейдеры. А а getpixel \ setpixel для такого массива пикселей будут адски грузить проц.

Добавлено (24 декабря 2014, 08:43)
---------------------------------------------
Я попросту приплюсну по вертикали. Но тут гемор с оффсетом, так как камера у меня ещё должна двигаться по Z (масштабирование картинки), и оффсет зависит от зума.


Сообщение отредактировал Alkosha - Среда, 24 Декабря 2014, 08:45
AlkoshaДата: Среда, 24 Декабря 2014, 08:22 | Сообщение # 103 | Тема: "Отражения" SDL2.
участник
Сейчас нет на сайте
Вот скетч, набросал в графическом редакторе, но хочу реализовать подобное (отражение в "воде") на SDL2.



Поначалу казалось, что задачка элементарная. Но не тут-то было.
До данной затеи была одна таргет-текстура, на которую я рендерил всё подряд SDL_SetRenderTarget(renderer, texTarget);. Зачем она нужна, спросите вы? Чтоб зумить, создавать эффект приближения\удаления камеры относительно сцены.

Создал две таргет-текстуры.
На одной рисую бэкграунд, на второй то, что будет выводиться как в нормальном виде, так и в отзеркаленном... Но нужно очищать область рендеринга. Именно таким образом, чтоб вся текстура была прозрачной в следующем цикле рендеринга.

как поступить в таком случае ? Каждый раз дэстроить текстуру (SDL_DestroyTexture(texTarget);) и создавать заново? Не затратно ли это в плане производительности ?

Добавлено (24 декабря 2014, 08:22)
---------------------------------------------

Цитата Alkosha ()
Каждый раз дэстроить текстуру (SDL_DestroyTexture(texTarget);) и создавать заново?


Именно так я и сделал.

Теперь вторую таргет-текстуру я в нормальном виде вывожу, и её же флипаю по вертикали.

Правда оффсет не подобрал ещё.



Сообщение отредактировал Alkosha - Воскресенье, 21 Декабря 2014, 00:11
AlkoshaДата: Понедельник, 15 Декабря 2014, 22:13 | Сообщение # 104 | Тема: Пиксель - арт.
участник
Сейчас нет на сайте
Мой пиксель-арт на зэт икс спектрум.
Sieg Heil Spectrum!














Сообщение отредактировал Alkosha - Понедельник, 15 Декабря 2014, 22:22
AlkoshaДата: Воскресенье, 14 Декабря 2014, 21:15 | Сообщение # 105 | Тема: Динамический массив объектов.
участник
Сейчас нет на сайте
Как удалить последний элемент вектора я ещё знаю. Но перемещать элементы я не знаю как.
AlkoshaДата: Воскресенье, 14 Декабря 2014, 16:24 | Сообщение # 106 | Тема: Работы новичков
участник
Сейчас нет на сайте
Снова paint net


Сообщение отредактировал Alkosha - Воскресенье, 14 Декабря 2014, 16:24
AlkoshaДата: Воскресенье, 14 Декабря 2014, 15:07 | Сообщение # 107 | Тема: Динамический массив объектов.
участник
Сейчас нет на сайте
Цитата Saitei ()
Хранить вектор объектов. У объектов хранить текущий кадр и изменять его в их Update методе. Или я что-то не догнал... Хз


Да, так я и делаю.
Но, например ,произошёл где-то один взрыв. Ему будет присвоен первый индекс.
Потом второй взрыв - второй индекс. Пока взрывался второй, первый взрыв "угас". Но тут надо произвести третий взрыв. Не расширять же вектор до бесконечности, можно воспользоваться "потухшим взрывом". Но для того, чтоб узнать, который из них потух, нужно проходиться по образованному массиву, проверяя флаг активности взрыва.


Сообщение отредактировал Alkosha - Воскресенье, 14 Декабря 2014, 15:07
AlkoshaДата: Воскресенье, 14 Декабря 2014, 11:38 | Сообщение # 108 | Тема: Динамический массив объектов.
участник
Сейчас нет на сайте
Гутен морген/абенд/таг.

Как лучше сделать массив "взрывов" ?
С индексами не понятно.

Объявлен вектор объектов.
Код
class myExplosion
{
public:
float x,y;
int framenum, ft;
void update()
{
...
}
void display()
{
...
}

};
vector <myExplosion> explosion;


Код
void render (){  
if(!explosion.empty())
           {
               for(int i=0; i<explosion.size(); i++)
                   {
                       explosion[i]->display();
                   }
           }
}


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


Сообщение отредактировал Alkosha - Воскресенье, 14 Декабря 2014, 11:39
AlkoshaДата: Среда, 03 Декабря 2014, 11:59 | Сообщение # 109 | Тема: Работы новичков
участник
Сейчас нет на сайте
Скачал Paint dot net, осваиваюсь.





Добавлено (03 декабря 2014, 11:56)
---------------------------------------------








Сообщение отредактировал Alkosha - Среда, 03 Декабря 2014, 12:01
AlkoshaДата: Вторник, 25 Ноября 2014, 18:48 | Сообщение # 110 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Ясно.
Даже wstring to string конвертить не надо оказывается.
AlkoshaДата: Понедельник, 24 Ноября 2014, 21:12 | Сообщение # 111 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Вроде бы сделал как тута: http://littletechnibbles.com/2009....ng-in-c

Результат всё тот же -> каракули вместо символов.

Код

string conv (const wstring& wstr)
{
    return (string(wstr.begin(), wstr.end()));
}
...
wfstream file;
int i=0;

  file.open("maps//dialog.dlg", ios::in);
         if (file)
             {
                 while (!file.eof())
                     {
                         getline(file, input[i]);
                         i++;
                     }
                 file.close();
             }
...
string lin=conv(input[0]);
print1.display(lin.c_str(),80,50,w*25,18,200,200,200);
...
AlkoshaДата: Воскресенье, 23 Ноября 2014, 22:46 | Сообщение # 112 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
wacko .....всё равно не понятно..... wacko

считываю не посимольно, а построково.
Код
     while (!file.eof())
                     {
                         getline(file, input[i]);
                         i++;
                     }
                 file.close();

Но функция getline не работает с wstring, только string.
AlkoshaДата: Пятница, 21 Ноября 2014, 18:38 | Сообщение # 113 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Цитата froex ()
после чего используешь функцию, которая переведёт в char*


Похоже, что такая функция есть в вижуал студии и борландовском билдере.
Я же использую кодблокс mingw gcc
AlkoshaДата: Четверг, 20 Ноября 2014, 21:58 | Сообщение # 114 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Цитата froex ()
Отображается где? На какой платформе?
Если вывод в консоль, то можно использовать несколько вариантов:


Не дос, не консоль, а SDL2 под windows
Код
textSurface=TTF_RenderText_Solid(fnt,text,color);
         texxture=SDL_CreateTextureFromSurface(renderer,textSurface);
         SDL_RenderCopy(renderer, texxture,  NULL, &Dest);

Где переменная text - та самая const char*.
AlkoshaДата: Четверг, 20 Ноября 2014, 19:36 | Сообщение # 115 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Цитата froex ()
void display(const char* src);


Спасибо, сразу полегчало...

но теперь какая-то фигня с кодировками.
Латиница правильно отображается, а кириллица - нет. Фонты TTF содержат в себе русскоязычный алфавит.
Пробовал файл сохранить в UTF8 и в ANSI - всё равно кракозябры, только в разной кодировке по-своему.
Файл редактирую через notepad++
Если выводить буквы непосредственно из программы [print1.display("Аллаху акбар")] , то с кодировкой проблем нет.
AlkoshaДата: Среда, 19 Ноября 2014, 22:03 | Сообщение # 116 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Цитата goldsphere ()
так и есть. Если нужно вывести всю строку, считанную из файла, можно сделать так


ну вообще хочу сделать систему диалогов.
Диалоги хранятся в файле.
Каждая реплика отделяется ключевым словом (допустим "next").
И при считывании из файла, нужно каждую реплику расфасовать по отдельным строковым массивам , типа char* (или string, если заюзать c_str()), для последующего вывода.

Добавлено (19 ноября 2014, 18:12)
---------------------------------------------
В диалогах будет присутствовать символ \n, разумеется.

Добавлено (19 ноября 2014, 22:03)
---------------------------------------------

Цитата goldsphere ()
а потом print1.display(input.c_str());


Што за?

Цитата
E:\TURBO\platform3\main.cpp|974|error: invalid conversion from 'const char*' to 'char*' [-fpermissive]|


Не нравится ему, что константное значение.


Сообщение отредактировал Alkosha - Среда, 19 Ноября 2014, 21:48
AlkoshaДата: Вторник, 18 Ноября 2014, 23:06 | Сообщение # 117 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
как извлечь символ из строки string ?
Так не получается
print1.display(input[0][i]);

error: invalid conversion from 'char' to 'char*' [-fpermissive]|

В функцию print1.display() должен передаваться char*.

Можно весь стринг передать, а не посимвольно. Но нужно его сконвертить в char*

Добавлено (18.11.2014, 23:06)
---------------------------------------------
Ой... даже не так...
Считываю из файла таким образом.

Код

void readfile()
{
ifstream file;

int i=0;

  file.open("maps", ios::in);
         if (file)
             {
                 while (!file.eof())
                     {
                         file>>input[i];
                         i++;
                     }
                 file.close();
             }
}



Сперва думал, что разобьёт по отдельным стрингам строки файла (после каждого /n)... но теперь мне кажется, что разобъётся всё по словам, после каждого пробела.


Сообщение отредактировал Alkosha - Вторник, 18 Ноября 2014, 23:00
AlkoshaДата: Суббота, 15 Ноября 2014, 18:38 | Сообщение # 118 | Тема: Unity-shader to GLSL
участник
Сейчас нет на сайте
Цитата Archido ()
Почему кто-то за тебя это должен сделать?


Не знаю cry


Сообщение отредактировал Alkosha - Суббота, 15 Ноября 2014, 18:39
AlkoshaДата: Пятница, 14 Ноября 2014, 19:08 | Сообщение # 119 | Тема: Unity-shader to GLSL
участник
Сейчас нет на сайте
Хочу этот шейдер в GLSL виде.

SuperFX диззеринг пикселей

С синтаксисом шейдеров юнити (и не только) не знаком.
AlkoshaДата: Вторник, 11 Ноября 2014, 11:56 | Сообщение # 120 | Тема: Движок Irrlicht
участник
Сейчас нет на сайте
Цитата Kwant ()
какой именно нужен то?


Оптимальный по производительности.

А вообще, это я потом посмотрю. Для начала хотелось бы понять, чего происходит с этим 1.8

Ключ "-static" (статическая линковка) не помогает.
Поиск:

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