Результаты поиска
| |
Saitei | Дата: Среда, 17 Июля 2013, 12:09 | Сообщение # 861 | Тема: Небесные острова - Вызов судьбы |
старожил
Сейчас нет на сайте
| uslucifer, он отложен в шкаф, к сожалению. Идею неплохую подкинули, спасибо =) Если хотите - могу возродить идею "небесных островов". Ну или наоборот - можете взять себе для реализации своих проектов
|
|
| |
Saitei | Дата: Пятница, 10 Мая 2013, 23:01 | Сообщение # 862 | Тема: Почему в С++ нет массивов? |
старожил
Сейчас нет на сайте
| holywarend() { PEACE AND LOVE. Все ЯП хороши по-своему }
|
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 22:49 | Сообщение # 863 | Тема: SFML |
старожил
Сейчас нет на сайте
| а как тогда узнать координаты игрока? Добавлено (09.05.2013, 12:45) --------------------------------------------- //FIX: спрайта)) Добавлено (09.05.2013, 22:49) --------------------------------------------- Научите пожалуйста правильно загружать и анимировать спрайты. Желательно с кодом-примером. Задача: есть 150 картинок звезды (так называемые "кадры") с разрешением 500х500 и форматом .png, они пронумированы так: "_000.png ... _150.png". Нужно загрузить в игру и отобразить. Я уже делал, работало, но очень пожалел, т.к. пришлось создавать 2 массива по 150 элементов. Кошмар, в общем. Как грамотно всё это дело сделать?
|
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 22:48 | Сообщение # 864 | Тема: Почему в С++ нет массивов? |
старожил
Сейчас нет на сайте
| Цитата (Undead) Saitei, Ну паскаль никогда и не был серьёзным яп, просто игрушка для обучения(он для этого и создан был). Я вобще главное прямота рук. Да, я понимаю. Но тем не менее его используют. В тех же школах, например, многие изучают его. Как никак кем-то он да и был создан.
|
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 22:00 | Сообщение # 865 | Тема: Почему в С++ нет массивов? |
старожил
Сейчас нет на сайте
| Цитата (zub21) Паскаль для нубов, а C/C++ для реальных пацанов:) Вы переходите за черту приличия, имхо. Все ЯП хороши, все они были созданы кем-то и внесли огромный вклад в историю человечества. Ту или иную вещь можно сделать миллионом разных инструментов. А если кратко, то: "Прямые руки - залог успеха, инструмент тут не при чём. Гвоздь можно забить и голой ладонью, было бы желание". Осмелитесь ли вы назвать программиста нубом, если он сотворит на паскале то, что в принципе вы не смогли бы на С++? Я считаю, что нет. Вы бы либо завидовали, либо восхищались им (как бы это парадоксально не звучало). Что у всех в головах, простите конечно дерзость мою, за чушь? Инструмент - не главное. Их же как-то собрали? А всё начиналось с того, что их сделали руки. И очень жаль, что вы не цените историю и так нагло, некрасиво оскорбляете историю, людей, которые до сих пор программируют на этом ЯП.
Сообщение отредактировал Saitei - Четверг, 09 Мая 2013, 22:01 |
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 19:18 | Сообщение # 866 | Тема: Почему в С++ нет массивов? |
старожил
Сейчас нет на сайте
| King_Of_Games, проще - не значит лучше.
|
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 00:32 | Сообщение # 867 | Тема: SFML |
старожил
Сейчас нет на сайте
| Хм. А как заставить спрайт двигаться к определенным координатам? Добавлено (09.05.2013, 00:32) --------------------------------------------- p.s. должно быть что-то такое: if ((Mouse::isButtonPressed(Mouse::Left)) { s_player.двигаться(Mouse::getPosition(app).x, Mouse::getPosition(app).y); }
Move есть, да. Но когда я пишу, например, s_player.move(1,1) он начинает двигаться бесконечно. Такое чувство, что я установил не точку, куда нужно двигаться, а скорость по плоскостям тт
|
|
| |
Saitei | Дата: Воскресенье, 05 Мая 2013, 11:30 | Сообщение # 868 | Тема: SFML |
старожил
Сейчас нет на сайте
| Хм. Не знаю что делать. Делаю анимацию курсора: Код for(int i = 0; i < 16; ++i) { if(t_cursor[i].loadFromFile(i+".png")!=1) { return; } else { t_cursor[i].setSmooth(true); } вот так писать нельзя: Код if(t_cursor[i].loadFromFile(i+".png")!=1) а как быть тогда? У меня есть кадры от 0.png до 15.png... Вручняк уже вбивал, анимация пашет на ура (гемор хх). Хочу циклом. Ну а как название-то менять я не знаю. i+".png" не пашетДобавлено (04.05.2013, 22:16) --------------------------------------------- ха-ха)) Что-то написал, но на костылях. И то до конца не понял что происходит. Пожалуйста, объясните или поправьте Код for(int i = 0; i < 16; ++i) { itoa(i,tmp,10); strcpy(filename,tmp); strcat(filename,".png"); if(t_cursor[i].loadFromFile(filename)!=1) { return; } else { t_cursor[i].setSmooth(true); } } Добавлено (05.05.2013, 11:30) --------------------------------------------- Передо мной встала новая задачка. Хочу создать псевдогалактическую систему (Выдуманную). Солнце-то я без проблем поставлю. Но как быть с планетами? Как их заставить вращаться вокруг(!) него с соблюдением определенного расстояния(радиуса)(!)? Проблема именно в круговом вращении планеты с центром на солнце
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 19:25 | Сообщение # 869 | Тема: SFML |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, действительно, помогло))) сразу нахлынул позитив. Спасибо огромное! Огромнейшое =) Добавлено (04.05.2013, 19:25) --------------------------------------------- Кстати. С вращением спрайта я разобрался: спрайт.rotate(...); а вот как там дела с перемщеением? Я, допсутим, хочу чтобы спрайт плавно переместился на определенные координаты. Находил спрайт.move(x,y); , но в итоге у меня получилось тоже самое, что и спрайт.setPosition(x,y);
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 19:19 | Сообщение # 870 | Тема: SFML |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, так тоже делал. Ошибка Цитата (Нохчи) В realese-сборке должны быть подключены релизные либы, в debug-дебажные. Может быть я что-то не понял конечно... но где они? Я вижу лишь огромный список либов. И нигде конкретно для релиза ничего нет
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 17:19 | Сообщение # 871 | Тема: SFML |
старожил
Сейчас нет на сайте
| Lord_Zeon, да, она. Сейчас роюсь у них на сайте. Вроде как студию они официально поддерживают Добавлено (04.05.2013, 15:09) --------------------------------------------- всё равно растерян. Переходить на Code Blocks мне неохота... Добавлено (04.05.2013, 17:19) --------------------------------------------- HEEELP! Q___Q Debug mode жутко смущает
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 14:58 | Сообщение # 872 | Тема: SFML |
старожил
Сейчас нет на сайте
| Lord_Zeon, а у меня не работает. Я-то их выпрямлю, но хоть намекните что не так, а не просто говорите "выпрямляй руки". Добавлено (04.05.2013, 14:51) --------------------------------------------- Прикол в том, что при дебаге всё пашет perfectly, а вот в релизе.. Добавлено (04.05.2013, 14:51) --------------------------------------------- И это печально Добавлено (04.05.2013, 14:58) --------------------------------------------- а ещё в ошибке релиза имя файла искажается. А вот в дебаге всё ОК. Но мне нужен релиз
Сообщение отредактировал Saitei - Суббота, 04 Мая 2013, 14:43 |
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 14:36 | Сообщение # 873 | Тема: SFML |
старожил
Сейчас нет на сайте
| Я прислушался к вашему мнению. Пишу теперь просто программку. Проблема с загрузкой текстуры (Unable to load): main.cpp: Код #include "med_init.h"
const String title = "SFML GAME"; const unsigned int w_width = 1024; const unsigned int w_height = 768; const unsigned w_fps_limit = 60; RenderWindow app(VideoMode(w_width, w_height, 32), title);
void Draw() { app.draw(s_ava); }
int main(void) { app.setFramerateLimit(w_fps_limit); media_init(); while(app.isOpen()) { Event event; while(app.pollEvent(event)) { if(event.type == Event::Closed) { app.close(); } if((event.type == Event::KeyPressed) && (event.key.code == Keyboard::Escape)) {
} } app.setActive(); app.clear(Color::Black); Draw(); app.display(); } return 0; } med_init.h: Код #include <SFML\Graphics.hpp> using namespace sf; Texture t_ava; Sprite s_ava;
void media_init() { if(!t_ava.loadFromFile("Red00_000.png")) {
} s_ava.setTexture(t_ava); } Добавлено (04.05.2013, 14:23) --------------------------------------------- P.S. все длл и либы подключены правильно. В папке Release (а я компилирую релизом) так же есть тот спрайт. Пытался запуститься сразу из той папки - эффект тот же... Добавлено (04.05.2013, 14:36) --------------------------------------------- почитал - частенько у людей такие проблемы. Но для меня она до сих пор актуальна. Сижу в жуткой печали
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 11:33 | Сообщение # 874 | Тема: SFML |
старожил
Сейчас нет на сайте
| Нохчи, действительно, трабла ушла. Но появилась новая: Код 1>------ Build started: Project: SFML_game, Configuration: Release Win32 ------ 1> main.cpp 1>main.obj : error LNK2001: неразрешенный внешний символ "_RenderFunc" 1>F:\SFML\SFML_game\Release\SFML_game.exe : fatal error LNK1120: 1 неразрешенных внешних элементов ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Добавлено (04.05.2013, 00:16) --------------------------------------------- помогите пожалуйста Добавлено (04.05.2013, 00:42) --------------------------------------------- up... Добавлено (04.05.2013, 11:33) --------------------------------------------- help please. хотя бы натолкните на мысль...
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 23:56 | Сообщение # 875 | Тема: SFML |
старожил
Сейчас нет на сайте
| dll: Цитата extern "C" __declspec(dllexport) void RenderFunc(void (*DrawFunction)(void)) { while (application.isOpen()) { sf::Event event; while (application.pollEvent(event)) { if (event.type == Event::Closed) application.close(); } application.clear(); DrawFunction(); application.display(); } } ___.h: Цитата extern "C" __declspec(dllexport) void EngineInit(int w_width, int w_height, char* w_title, unsigned int fps_limit); extern "C" __declspec(dllexport) void RenderFunc(void (*DrawFunction)(void)); main.cpp: #include "EngineCore.h"
Код void *Draw() {
}
int main(void) { EngineInit(640,480, "vcbs", 60); RenderFunc(Draw()); return 0; }
ругань на RenderFunc(Draw());
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 22:51 | Сообщение # 876 | Тема: SFML |
старожил
Сейчас нет на сайте
| extern "C" __declspec(dllexport) void RenderFunc(void (*FunctionPointer)(void)) { RenderFunc(); }
void blabla() { RenderFunc(); } так что ли? Честно - запутался. У меня есть функция со стороны проекта: функция() { draw(id1); draw(id2); }
а со стороны dll есть функция: render() { начало рендера();
конец рендера(); }
задача приблизительно такая: render() { начало рендера(); функция(); конец рендера(); }
Нервный тик начался. Я сознаюсь, я зелён и мои познания несравнимы с вашими. Может быть это даже смешно, но и впрямь я запутался
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 22:33 | Сообщение # 877 | Тема: SFML |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, что-то я запутался. Сидел, лепил, а запутался. Мне нужно написать функцию (в дллке), в аргумент которой пишется другая функция(уже из самого проекта) для того чтобы вызвать функцию из проекта в коде дллки начал писать: extern "C" __declspec(dllexport) void RenderFunc(void (*FunctionPointer)(void)) { } и вдруг мозг тормознул
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 22:10 | Сообщение # 878 | Тема: SFML |
старожил
Сейчас нет на сайте
| Цитата (RUNGOGET2THECHOPAH) typedef void (*FunctionPointer)(int); извините, но я немного не пойму зачем здесь стоит typedef
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 22:09 | Сообщение # 879 | Тема: SFML |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, открыл учебник, понял как объявляются указатели на функции. Но не понял как этим указателем применить ту или иную функцию в другой части кода
|
|
| |
Saitei | Дата: Пятница, 03 Мая 2013, 21:39 | Сообщение # 880 | Тема: SFML |
старожил
Сейчас нет на сайте
| а можно ли через аргумент передать функцию? О_о
что-то вроде того: есть функция Func1. В её теле что-то написано, но это не важно А есть Func2. В качестве аргумента мы пишем Func1 и из-за этого тот кусок кода, что написан в Func1, будет "работать" в другом. void Func1() { ... } void Func2(Func1) { }
void blablabla() { blablabla_start(); Func2(); blablabla_end(); }
Как-то так хд Не могу выразиться нормально, я запутался. Просто у меня получается так, что в dll написан целый цикл для отрисовки. И мне надо определенный кусок кода поместить туда, но при этом юзер должен указать какая функция там будет выполняться
|
|
| |
|