Преобразование SFML для массивов вершин фактически не применяется к вершинам?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Преобразование SFML для массивов вершин фактически не применяется к вершинам?

Сообщение Anonymous »

Я пытаюсь реализовать обнаружение столкновений SAT в игре, которую я создаю с помощью SFML, но заметил, что позиции вершин из массива вершин, который я использовал для создания игрока, не меняют положение, даже несмотря на то, что я применил к ним преобразование работает правильно.
это класс Player:

Код: Выделить всё

#include 
#include "Player.h"
#include 
#include

Player::Player( int screen_width, int screen_height)
{
create(screen_width, screen_height);
}

void Player::create( int screen_width, int screen_height)
{
float size = 60.f;

square.setPrimitiveType(sf::Triangles);
square.resize(6);

square[0].position = sf::Vector2f(0.f, 0.f); //top left
square[1].position = sf::Vector2f(0.f, size); //bottom left
square[2].position = sf::Vector2f(size, 0.f); //top right
square[3].position = sf::Vector2f(0.f, size); //bottom left
square[4].position = sf::Vector2f(size, 0.f); //top right
square[5].position = sf::Vector2f(size, size); // bottom left

square[0].color = sf::Color(200,200,200);
square[1].color = sf::Color::White;
square[2].color = sf::Color(100,100,100);
square[3].color = sf::Color::White;
square[4].color = sf::Color(100,100,100);
square[5].color = sf::Color(200,200,200);
m_transform = getTransform();
}

void Player::move(bool w, bool a, bool s, bool d)
{
float mod_velocity;
sf::Vector2f t;
sf::Vector2f pos;

velocity = sf::Vector2f(0.f, 0.f);

if (w)
{
velocity.y -= 1;
}
if (a)
{
velocity.x -= 1;
}
if (s)
{
velocity.y += 1;
}
if (d)
{
velocity.x += 1;
}

if ((velocity.x != 0.f) || (velocity.y != 0.f))
{
mod_velocity = sqrt((velocity.x * velocity.x) + (velocity.y * velocity.y));
t = velocity/mod_velocity;
velocity = t * speed;

}

m_transform.translate(velocity);

for (int i = 0; i < 6; i++)
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79316375/is-sfml-transform-for-vertex-arrays-not-actually-applied-to-vertices[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»