Созданные ответы форума
-
АвторСообщения
-
C++123456789sf::FloatRect System::getVisible() // Return size view{return sf::FloatRect(cam_p.x - scr_W/2, cam_p.y - scr_H/2, scr_W, scr_H);}if(getVisible().intersects(shape.getGlobalBounds())){wnd->draw(shape);}
Deffoe, твой вариант очень даже хорош.
Более оптимизированный вариантСкрин бага и код покажи.
Я не понял суть вопроса, приложите Screenshot(uint 2); вашей Problem(true); и подозрительную по вашему мнению часть кода.
Чтобы помочь, нужно увидеть код вашей программы.
Первое что пришло на ум, это никому не нужная отрисовка объектов вне камеры вида.Прикрепить элементы интерфейса к координатам камеры. +- Расстояние от центра экрана.
Нехватает разнообразия. Разных видов оружия и т.д. Немного доработать, наделать уровней и отправляй в стим
C++12shape.setTextureRect(sf::IntRect(x,y,w,h)); // Обычноshape.setTextureRect(sf::IntRect(x+w,y,-w,h)); // Зеркально96 это количество пикселей с картинки. Координата текстуры.
Установи Visual Studio 2012 и используй SFML 2.0, С ними нет никаких проблем.
Просто оставлю здесь 3 ключика к игре
TMKXF-TI5WF-G29YI
6I3XZ-63W4W-0WIL4
VIWYG-36M8I-NFVWLСсылка на группу ВК https://vk.com/portal_key Не успел отредактировать…
Да у image есть метод getPixel() который возвращает цвет указанного пикселя.
Примерно такой код, не тестировал, написал на скорую руку.C++123456sf::Image img;if(sprite.getGlobalBounds().contains(cursor)) // Если курсор на спрайте{if(img.getPixel(cursor.x, cursor.y) != sf::Color::Transparent) // Если цвет пикселя на спрайте под курсором не прозрачныйCheckTrigger = true; // Тру}А что делать, если кадры проигрываемой анимации разного размера (например атака с ударом длинного меча).
Ваш класс сильно похож на мой (Увы исходников не осталось), но я поясню его суть.
Он считывал анимацию с определённого ряда до определённого места, и был рассчитан на много-вариационную анимацию на одном холсте.
Его минус в том, что он был удобен в использовании только в случае если каждый кадр одного размера.Его конструктор принимал аргументы:
Кадров в секунду
С какого ряда начать
Какой ряд считать последним
Кадров в ряду
Кадров в последнем ряду
Vector2f Шир_Выс кадра на текстуре, у вас я так понимаю используете IntRect
Имя анимации (Move, Stand, Attack1, Attack2 и т.п.)Чем тебе плюсы не угодили?
-
АвторСообщения