Созданные ответы форума
Просмотр 1 сообщения - с 1 по 1 (всего 1)
-
АвторСообщения
-
Судя по активности в данной теме чувствую, что здесь буду писать ответы самому себе.
Ответ ниже. Но появился новый вопрос нереальной для меня (сейчас) сложности.
Надеюсь на тебя, будущий я)C++12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455class Personage :public FisObj {///....////Personage(int P, float X, float Y) {///....////}void GoPers(float &time, Vector2f &pos, float SPEEDX, float SPEEDY) {if (Go){////Реализовал передвижение по заданному отрезку из урока 18//////tempX = pos.x; tempY = pos.y;speedX = SPEEDX; speedY = SPEEDY;dX = tempX - x;dY = tempY - y;distance = sqrt(dX * dX + dY * dY);if (distance > 2){x += (speedX * time * dX / distance);y += (speedY * time * dY / distance);}else Go = false;sprt.setPosition(x, y);}}int main() {list<Personage*> Pers;list<Personage*>::iterator itPers;vector<Lets*> let; //Класс Lets хранит Прямоугольники коллизий на карте.vector<Lets*>::iterator itlet;let.push_back(&B1);let.push_back(&BMain);let.push_back(&B2);let.push_back(&Water);while (window.isOpen()) {//......//for (itPers = Pers.begin(); itPers != Pers.end(); itPers++) {for (itlet = let.begin(); itlet != let.end(); itlet++) {if ((*itPers)->sprt.getGlobalBounds().intersects((*itlet)->Zone.getGlobalBounds())) {if ((int)(*itlet)->UpGrn == (int)(*itPers)->UpGrn ||(int)(*itlet)->UpGrn == (int)(*itPers)->LeftGrn ||(int)(*itlet)->UpGrn == (int)(*itPers)->RightGrn)//////////Если Верхняя грань коллизии пересекается с какой-либо из граней игрока////{cout << "Up" << endl;//В консоль он сообщает, что препятствие именно сверху. Ниже аналогичные условия для "Down","Left","Right"/////////////////////////////////////////////////////////////////////////////////////////////////Сама соль в том, как реализовать отключение скорости по оси, на которой стоит коллизия,//////в данном случае Y, но сделать это так, чтобы эта скорость включалась именно при отсутствии//////пересечения конкретно данного объекта с данной коллизией. И я устал ломать голову над этим////}}} -
АвторСообщения
Просмотр 1 сообщения - с 1 по 1 (всего 1)