Что не так в python - Общение Python мододелов

Вопрос Что не так в python

Регистрация
30 Дек 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
315760554_f2220af69d64239411d1a0124986fb54_800.jpg

Вот код



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()
 
Регистрация
13 Сен 2013
Сообщения
85
Репутация
0
Спасибо
1
Монет
0
нейронке дай код этот, она исправит
 
Регистрация
11 Ноя 2012
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
Ошибка прямо вопит: Couldn't load file models/plane.egg. Not found on model path. Оно слепое или файлы лежат не там? Перепроверь пути для моделей.
 
Сверху Снизу