SFML
| |
Нохчи | Дата: Пятница, 03 Мая 2013, 23:59 | Сообщение # 21 |
заслуженный участник
Сейчас нет на сайте
| Как минимум Draw без скобок надо передавать. RenderFunc(Draw)
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 11:33 | Сообщение # 22 |
старожил
Сейчас нет на сайте
| Нохчи, действительно, трабла ушла. Но появилась новая: Код 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. хотя бы натолкните на мысль...
|
|
| |
Lord_Zeon | Дата: Суббота, 04 Мая 2013, 11:57 | Сообщение # 23 |
частый гость
Сейчас нет на сайте
| Скорее всего ты снова не прилинковал от своей dll статическую библиотеку которая генерируется с проектом, или что-то еще... Зачем ты себе такие сложности придумываешь? Если ты с трудом тянешь такое, стоит ли сейчас писать это?
|
|
| |
Archido | Дата: Суббота, 04 Мая 2013, 13:06 | Сообщение # 24 |
Сэнсэй
Сейчас нет на сайте
| Цитата (Lord_Zeon) Скорее всего ты снова не прилинковал от своей dll статическую библиотеку которая генерируется с проектом, или что-то еще... Зачем ты себе такие сложности придумываешь? Если ты с трудом тянешь такое, стоит ли сейчас писать это? +1. А еще я не вижу dllimport'a на стороне экзешника.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 14:36 | Сообщение # 25 |
старожил
Сейчас нет на сайте
| Я прислушался к вашему мнению. Пишу теперь просто программку. Проблема с загрузкой текстуры (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) --------------------------------------------- почитал - частенько у людей такие проблемы. Но для меня она до сих пор актуальна. Сижу в жуткой печали
|
|
| |
Lord_Zeon | Дата: Суббота, 04 Мая 2013, 14:38 | Сообщение # 26 |
частый гость
Сейчас нет на сайте
| Все работает. Выпрямляй руки.
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 14:58 | Сообщение # 27 |
старожил
Сейчас нет на сайте
| Lord_Zeon, а у меня не работает. Я-то их выпрямлю, но хоть намекните что не так, а не просто говорите "выпрямляй руки". Добавлено (04.05.2013, 14:51) --------------------------------------------- Прикол в том, что при дебаге всё пашет perfectly, а вот в релизе.. Добавлено (04.05.2013, 14:51) --------------------------------------------- И это печально Добавлено (04.05.2013, 14:58) --------------------------------------------- а ещё в ошибке релиза имя файла искажается. А вот в дебаге всё ОК. Но мне нужен релиз
Сообщение отредактировал Saitei - Суббота, 04 Мая 2013, 14:43 |
|
| |
Lord_Zeon | Дата: Суббота, 04 Мая 2013, 14:59 | Сообщение # 28 |
частый гость
Сейчас нет на сайте
| Saitei, Студия? Никогда не работал в ней, могу предположить разве что в кодировке дело.
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 17:19 | Сообщение # 29 |
старожил
Сейчас нет на сайте
| Lord_Zeon, да, она. Сейчас роюсь у них на сайте. Вроде как студию они официально поддерживают Добавлено (04.05.2013, 15:09) --------------------------------------------- всё равно растерян. Переходить на Code Blocks мне неохота... Добавлено (04.05.2013, 17:19) --------------------------------------------- HEEELP! Q___Q Debug mode жутко смущает
|
|
| |
RUNGOGET2THECHOPAH | Дата: Суббота, 04 Мая 2013, 18:49 | Сообщение # 30 |
участник
Сейчас нет на сайте
| Saitei, запускаешь не через студию, надеюсь? Попробуй просто открыть экзешник в папке Release.
|
|
| |
Нохчи | Дата: Суббота, 04 Мая 2013, 19:17 | Сообщение # 31 |
заслуженный участник
Сейчас нет на сайте
| В realese-сборке должны быть подключены релизные либы, в debug-дебажные.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 19:19 | Сообщение # 32 |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, так тоже делал. Ошибка Цитата (Нохчи) В realese-сборке должны быть подключены релизные либы, в debug-дебажные. Может быть я что-то не понял конечно... но где они? Я вижу лишь огромный список либов. И нигде конкретно для релиза ничего нет
|
|
| |
RUNGOGET2THECHOPAH | Дата: Суббота, 04 Мая 2013, 19:20 | Сообщение # 33 |
участник
Сейчас нет на сайте
| Для релиза нужно подключать те, что без постфиксов. Для дебага с постфиксом -d. И сами dll-ки должны лежать в папке с исполняемым файлом.
|
|
| |
Saitei | Дата: Суббота, 04 Мая 2013, 19:25 | Сообщение # 34 |
старожил
Сейчас нет на сайте
| RUNGOGET2THECHOPAH, действительно, помогло))) сразу нахлынул позитив. Спасибо огромное! Огромнейшое =) Добавлено (04.05.2013, 19:25) --------------------------------------------- Кстати. С вращением спрайта я разобрался: спрайт.rotate(...); а вот как там дела с перемщеением? Я, допсутим, хочу чтобы спрайт плавно переместился на определенные координаты. Находил спрайт.move(x,y); , но в итоге у меня получилось тоже самое, что и спрайт.setPosition(x,y);
|
|
| |
RUNGOGET2THECHOPAH | Дата: Суббота, 04 Мая 2013, 19:35 | Сообщение # 35 |
участник
Сейчас нет на сайте
| sprite::move(x,y) - не то же самое, что sprite::setPosition(x,y). Второй устанавливает спрайту координаты x,y относительно начала отсчета, а первый - относительно его текущего положения (сдвигает его на x по горизонтали и на y по вертикали). Что до плавного перемещения - тут тебе придется читать, что такое main loop, не иначе (это, вроде, даже в туториалах SFML есть).
|
|
| |
Saitei | Дата: Воскресенье, 05 Мая 2013, 11:30 | Сообщение # 36 |
старожил
Сейчас нет на сайте
| Хм. Не знаю что делать. Делаю анимацию курсора: Код 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) --------------------------------------------- Передо мной встала новая задачка. Хочу создать псевдогалактическую систему (Выдуманную). Солнце-то я без проблем поставлю. Но как быть с планетами? Как их заставить вращаться вокруг(!) него с соблюдением определенного расстояния(радиуса)(!)? Проблема именно в круговом вращении планеты с центром на солнце
|
|
| |
Xakep | Дата: Воскресенье, 05 Мая 2013, 11:55 | Сообщение # 37 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата (Saitei) Ну а как название-то менять я не знаю. i+".png" не пашет Код #include <string>
static inline string IntToStr(int64_t n) { char buff[13]; sprintf(buff, "%lld", n);
return buff; } ... if(t_cursor[i].loadFromFile((IntToStr(i)+".png").c_str())!=1)
Сообщение отредактировал Xakep - Воскресенье, 05 Мая 2013, 12:18 |
|
| |
Xakep | Дата: Воскресенье, 05 Мая 2013, 11:57 | Сообщение # 38 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата (Saitei) Передо мной встала новая задачка. Хочу создать псевдогалактическую систему (Выдуманную). Солнце-то я без проблем поставлю. Но как быть с планетами? Как их заставить вращаться вокруг(!) него с соблюдением определенного расстояния(радиуса)(!)? Проблема именно в круговом вращении планеты с центром на солнце
через sin и cos делай, примерно так: Код float a = 0.0f; a += DeltaTime; x = r*cos(a); y = r*sin(a);
ну переменная а естественно должна быть глобальной, или внутри класса, еще сделай проверку чтобы угол a был <= pi*2 если больше то обнуляется угол, чтобы небыло переполнения
Сообщение отредактировал Xakep - Воскресенье, 05 Мая 2013, 12:00 |
|
| |
Saitei | Дата: Четверг, 09 Мая 2013, 00:32 | Сообщение # 39 |
старожил
Сейчас нет на сайте
| Хм. А как заставить спрайт двигаться к определенным координатам? Добавлено (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) он начинает двигаться бесконечно. Такое чувство, что я установил не точку, куда нужно двигаться, а скорость по плоскостям тт
|
|
| |
Нохчи | Дата: Четверг, 09 Мая 2013, 01:28 | Сообщение # 40 |
заслуженный участник
Сейчас нет на сайте
| sprite.move(1,1) заставит передвинуть на 1 пиксель вправо и вниз относительно текущих координат. Ты, видимо, вызываешь ее в цикле, поэтому и двигается спрайт у тебя бесконечно. Смотри справку по move и setPosition.
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Четверг, 09 Мая 2013, 01:28 |
|
| |
|