SFML и C++ Уроки \ Разработка игр › Форумы › SFML System, Window и другие вопросы › Место вылета пули по отношению к спраюту персонажа › Ответ в теме: Место вылета пули по отношению к спраюту персонажа
Я решил проблему по вашему совету так:
добавил в функцию апдейт такой код:
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
if (rotBull > -22.5 && rotBull < 22.5){ sprite.setPosition(x + 21, y - 40); sprite.setRotation(rotBull); } if (rotBull > 22.5 && rotBull < 67.5){ sprite.setPosition(x + 42, y - 13); sprite.setRotation(rotBull); } if (rotBull > 67.5 && rotBull < 112.5){ sprite.setPosition(x + 40, y + 21); sprite.setRotation(rotBull); } if (rotBull > 112.5 && rotBull < 157.5){ sprite.setPosition(x + 13, y + 42); sprite.setRotation(rotBull); } if (rotBull > 157.5 || rotBull < -157.5){ sprite.setPosition(x - 21, y + 40); sprite.setRotation(rotBull); } if (rotBull < -22.5 && rotBull > -67.5){ sprite.setPosition(x - 12, y - 42); sprite.setRotation(rotBull); } if (rotBull < -67.5 && rotBull > -112.5){ sprite.setPosition(x - 40, y - 21); sprite.setRotation(rotBull); } if (rotBull < -112.5 && rotBull > -157.5){ sprite.setPosition(x - 42, y + 13); sprite.setRotation(rotBull); } } |
и при нажатии кнопки стрельбы считывал координаты персонажа и угол.
Работает вроде бы корректно, визуально выгладит правильно.
Это ли вы имели ввиду, или что-то другое, а я просто не правильно понял?