12334234 1 12334234 Регистрация 30 Дек 2013 Сообщения 92 Репутация 0 Спасибо 0 Монет 0 6 Апр 2025 #1 Вот код from panda3d.core import Point3, Vec3 from direct.showbase.ShowBase import ShowBase from direct.task import Task from direct.interval.IntervalGlobal import Sequence from math import sin, cos, radians class ShooterGame(ShowBase): def __init__(self): ShowBase.__init__(self) # Настройка камеры self.disableMouse() self.camera.set_pos(0, -10, 2) self.camera.look_at(0, 0, 0) # Добавление земли self.create_ground() # Инициализация переменных self.player_pos = Point3(0, 0, 0) # Добавление игрока self.create_player() # Обработчик событий для управления self.accept('arrow_left', self.move_left) self.accept('arrow_right', self.move_right) self.accept('arrow_up', self.move_forward) self.accept('arrow_down', self.move_backward) self.accept('space', self.shoot) # Перемещение камеры self.taskMgr.add(self.update_camera, "update_camera" def create_ground(self): ground = self.loader.loadModel("models/plane" ground.reparent_to(self.render) ground.set_scale(10, 10, 1) ground.set_pos(0, 0, 0) ground.set_color(0.2, 0.8, 0.2, 1) # зеленый цвет ground.set_bin('ground', 0) def create_player(self): self.player = self.loader.loadModel("models/smiley" self.player.reparent_to(self.render) self.player.set_scale(0.5, 0.5, 0.5) self.player.set_pos(self.player_pos) def move_left(self): self.player.set_x(self.player.get_x() - 0.1) def move_right(self): self.player.set_x(self.player.get_x() + 0.1) def move_forward(self): self.player.set_y(self.player.get_y() + 0.1) def move_backward(self): self.player.set_y(self.player.get_y() - 0.1) def shoot(self): bullet = self.loader.loadModel("models/smiley" bullet.reparent_to(self.render) bullet.set_scale(0.1, 0.1, 0.1) bullet.set_pos(self.player.get_pos()) bullet.set_color(1, 0, 0, 1) # красный цвет # Анимация пули bullet.set_z(1) # Начальная высота bullet_sequence = Sequence( bullet.posInterval(1, Point3(bullet.get_x(), bullet.get_y() + 10, 1), startPos=bullet.get_pos()), bullet.remove_node() ) bullet_sequence.start() def update_camera(self, task): self.camera.look_at(self.player) return Task.cont if __name__ == "__main__": game = ShooterGame() game.run()
Вот код from panda3d.core import Point3, Vec3 from direct.showbase.ShowBase import ShowBase from direct.task import Task from direct.interval.IntervalGlobal import Sequence from math import sin, cos, radians class ShooterGame(ShowBase): def __init__(self): ShowBase.__init__(self) # Настройка камеры self.disableMouse() self.camera.set_pos(0, -10, 2) self.camera.look_at(0, 0, 0) # Добавление земли self.create_ground() # Инициализация переменных self.player_pos = Point3(0, 0, 0) # Добавление игрока self.create_player() # Обработчик событий для управления self.accept('arrow_left', self.move_left) self.accept('arrow_right', self.move_right) self.accept('arrow_up', self.move_forward) self.accept('arrow_down', self.move_backward) self.accept('space', self.shoot) # Перемещение камеры self.taskMgr.add(self.update_camera, "update_camera" def create_ground(self): ground = self.loader.loadModel("models/plane" ground.reparent_to(self.render) ground.set_scale(10, 10, 1) ground.set_pos(0, 0, 0) ground.set_color(0.2, 0.8, 0.2, 1) # зеленый цвет ground.set_bin('ground', 0) def create_player(self): self.player = self.loader.loadModel("models/smiley" self.player.reparent_to(self.render) self.player.set_scale(0.5, 0.5, 0.5) self.player.set_pos(self.player_pos) def move_left(self): self.player.set_x(self.player.get_x() - 0.1) def move_right(self): self.player.set_x(self.player.get_x() + 0.1) def move_forward(self): self.player.set_y(self.player.get_y() + 0.1) def move_backward(self): self.player.set_y(self.player.get_y() - 0.1) def shoot(self): bullet = self.loader.loadModel("models/smiley" bullet.reparent_to(self.render) bullet.set_scale(0.1, 0.1, 0.1) bullet.set_pos(self.player.get_pos()) bullet.set_color(1, 0, 0, 1) # красный цвет # Анимация пули bullet.set_z(1) # Начальная высота bullet_sequence = Sequence( bullet.posInterval(1, Point3(bullet.get_x(), bullet.get_y() + 10, 1), startPos=bullet.get_pos()), bullet.remove_node() ) bullet_sequence.start() def update_camera(self, task): self.camera.look_at(self.player) return Task.cont if __name__ == "__main__": game = ShooterGame() game.run()
SeeMr S SeeMr Регистрация 13 Сен 2013 Сообщения 85 Репутация 0 Спасибо 1 Монет 0 6 Апр 2025 #2 нейронке дай код этот, она исправит
юра55555 Ю юра55555 Регистрация 8 Дек 2013 Сообщения 80 Репутация 0 Спасибо 0 Монет 0 6 Апр 2025 #3 Ты читать не умеешь? В панде нет такой модели
HexoR1 H HexoR1 Регистрация 11 Ноя 2012 Сообщения 104 Репутация 0 Спасибо 0 Монет 0 6 Апр 2025 #4 Ошибка прямо вопит: Couldn't load file models/plane.egg. Not found on model path. Оно слепое или файлы лежат не там? Перепроверь пути для моделей.
Ошибка прямо вопит: Couldn't load file models/plane.egg. Not found on model path. Оно слепое или файлы лежат не там? Перепроверь пути для моделей.
цуйц Ц цуйц Регистрация 29 Сен 2013 Сообщения 79 Репутация 0 Спасибо 0 Монет 0 6 Апр 2025 #5 иии что это