Exemplo n.º 1
0
 def 球动(self, x0, y0, x1, y1):
     d = 配置.控制球大小
     p = self.控制球.mapFromParent(QPoint(x1, y1))
     if 0 <= p.x() <= d and 0 <= p.y() <= d:
         v = (vec(p.x(), p.y()) - vec(d / 2, d / 2)).normalize()
         self.glWidget.球控制 = [-v.y, -v.x]
     if d / 3 <= p.x() <= d / 3 * 2 and d / 3 <= p.y() <= d / 3 * 2:
         net_client.udp_send(('跳', 0, '开始施法'))
Exemplo n.º 2
0
    def mouseReleaseEvent(self, event):
        if 配置.surface模式:
            return

        if event.button() == Qt.LeftButton:
            net_client.udp_send(('左键', '停止施法'))
        if event.button() == Qt.RightButton:
            net_client.udp_send(('右键', '停止施法'))
        if 配置.surface模式:
            self.p0 = None
Exemplo n.º 3
0
    def mousePressEvent(self, event):
        if not self.glWidget.接管鼠标:
            self.控制接上()
            return

        if 配置.surface模式:
            return

        if event.button() == Qt.LeftButton:
            net_client.udp_send(('左键', '开始施法'))
        if event.button() == Qt.RightButton:
            net_client.udp_send(('右键', '开始施法'))
Exemplo n.º 4
0
 def 鼠标位移改变镜头(self, x, y):
     if x != 0 or y != 0:
         if not 配置.surface模式:
             x *= 配置.鼠标速度
             y *= 配置.鼠标速度
         else:
             x *= 配置.卷动速度
             y *= 配置.卷动速度
         self.我.面角[0] -= x
         self.我.面角[1] -= y
         self.我.面角[1] = limit(self.我.面角[1], -pi / 2 + 0.1, pi / 2 - 0.1)
         net_client.udp_send(('面角', self.我.面角[0], self.我.面角[1]))
Exemplo n.º 5
0
    def paintGL(self):
        # 先放着
        self.parent().物品栏.刷新(env.物品信息)

        if self.接管鼠标 and not 配置.surface模式:
            self.镜头修正()

        self.我.在走 = False
        if any(self.控制):
            self.我.在走 = True
            self.我.行走方向 = self.向量取角(self.控制)

        if any(self.控制):
            net_client.udp_send(('走', True, self.向量取角(self.控制)))
        else:
            net_client.udp_send(('走', False, 0))

        t1 = self.周期钟.tick()
        self.绘图钟.tick()
        self.画面刷新()
        t2 = self.绘图钟.tick()
        self.世界钟.tick()
        if True:
            try:
                self.世界.tp(t1)
            except:
                # 反正多线程错误多23333
                None
            for i in particle.particle_pool:
                i.tp(t1)
        t3 = self.世界钟.tick()

        t1 += 1 / 10**6
        t2 += 1 / 10**6
        t3 += 1 / 10**6

        self.实际间隔 += t1 * 0.1
        self.绘图间隔 += t2 * 0.1
        self.逻辑间隔 += t3 * 0.1
        self.实际间隔 *= 10 / 11
        self.绘图间隔 *= 10 / 11
        self.逻辑间隔 *= 10 / 11
        self.parent().提示.setText('实际帧率: %d \n绘图帧率: %d \n逻辑帧率: %d\n' %
                                 (1 / self.实际间隔, 1 / self.绘图间隔, 1 / self.逻辑间隔))

        self.update()
Exemplo n.º 6
0
    def keyPressEvent(self, event):
        key = QKeyEvent(event).key()
        try:
            key = chr(key)
        except:
            None

        if key == 16777216 and self.glWidget.接管鼠标:  # ESC
            self.控制断开()
        else:
            self.控制接上()
        if key == 'W':
            self.glWidget.键盘控制[0] += 1
        if key == 'S':
            self.glWidget.键盘控制[0] -= 1
        if key == 'A':
            self.glWidget.键盘控制[1] += 1
        if key == 'D':
            self.glWidget.键盘控制[1] -= 1
        if key == ' ':
            net_client.udp_send(('跳', 0, '开始施法'))
        if key == 'E':
            self.控制断开()
            self.物品栏.show()
Exemplo n.º 7
0
 def mousePressEvent(self, event):
     if event.button() == Qt.LeftButton:
         net_client.udp_send(('选择物品', self.序号))