Пятница, 19 Апреля 2024, 07:04

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » SStrelok [7]
Результаты поиска
SStrelokДата: Вторник, 01 Мая 2018, 19:51 | Сообщение # 1 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, Да, теперь он ходит и поворачивает )))
SStrelokДата: Вторник, 01 Мая 2018, 19:47 | Сообщение # 2 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, Век благодарен буду, наконец то заработала :D :D :D :D :D :D :D
SStrelokДата: Вторник, 01 Мая 2018, 19:35 | Сообщение # 3 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, попрыгав с print :D :D
я обнаружил что на клиент не идут координаты...
Код
state= {(gobj.name, gobj["user"].name): [Vector(gobj.worldPosition),Vector(gobj.orientation.to_euler())]

[('Avatar', 'Textd'), ('Avatar', 'Text')]
Код
statp= {(gobj.name, gobj["user"].name): list(Vector(gobj.worldPosition))

{('Avatar', 'Textd'): [-11.0, -7.0, 3.0]}
SStrelokДата: Вторник, 01 Мая 2018, 19:18 | Сообщение # 4 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, Вот на это
Код
state= {(gobj.name, gobj["user"].name): [Vector(gobj.worldPosition),Vector(gobj.orientation.to_euler())]

Нужно теперь правильно обратиться.
Print выводит так :
{('Player', 'Name'): [Vector((-11.0, -7.0, 3.0)), Vector((0.0, 0.0, -3.141592264175415))]}
SStrelokДата: Вторник, 01 Мая 2018, 17:35 | Сообщение # 5 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, Да ,делал там нужно матрицу в вектор превратить :)

добавил функцию list в
Код
self.socket.sendto(pickle.dumps(list(statp)), addr)

и потенцивал с бубном сервер запустился без ошибки :D :D :D :D

UPD: Нужно теперь с clientom потенцевать

Ошибка клиента:
Код
tuple indices must be integers or slices, not tuple


Сообщение отредактировал SStrelok - Вторник, 01 Мая 2018, 18:09
SStrelokДата: Вторник, 01 Мая 2018, 17:22 | Сообщение # 6 | Тема: BGEM
был не раз
Сейчас нет на сайте
DivES, делал уже так :D
Выдает ошибку:
Код
_pickle.PicklingError: Can't pickle <class 'Vector'>: attribute lookup Vector on builtins failed

Где то читал что нужно Vector в список превратить, c этим я малость туплю :D :D :D
Хотя он становиться списком в этой строчке
Код
statp= {(gobj.name, gobj["user"].name): list(Vector(gobj.worldPosition))


Сообщение отредактировал SStrelok - Вторник, 01 Мая 2018, 17:27
SStrelokДата: Вторник, 01 Мая 2018, 15:02 | Сообщение # 7 | Тема: BGEM
был не раз
Сейчас нет на сайте
Можно ли сделать так чтобы отправлялись не только координаты, но и угол(orientation)??
server
Код
   
def send(self):
        scene = logic.getCurrentScene()
      
        statp= {(gobj.name, gobj["user"].name): list(Vector(gobj.worldPosition))
            for gobj in scene.objects
            if gobj.name== "pl"}   
                            
        for addr in self.addr_user:
            self.socket.sendto(pickle.dumps(statp), addr)

client
Код

    def receive(self):
        while True:
            try:
                data, addr= self.socket.recvfrom(1024)
                state = pickle.loads(data)

                for k in state:
                    if not k in self.entities:
                        scene= logic.getCurrentScene()
                        spawner = scene.objects["Spawner"]
                        smap = scene.objects["Smap"]
                        entity = scene.addObject("pl", spawner)
                        entity.children[0]["Text"] = k[1]
                        self.entities[k] = entity
                    else:
                        entity = self.entities[k]
                    entity.worldPosition = Vector(state[k])
                   


Сообщение отредактировал SStrelok - Вторник, 01 Мая 2018, 15:03
Форум игроделов » Записи участника » SStrelok [7]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг