当前位置: 首页>>代码示例>>Python>>正文


Python Utilities.processRotation方法代码示例

本文整理汇总了Python中utilities.Utilities.processRotation方法的典型用法代码示例。如果您正苦于以下问题:Python Utilities.processRotation方法的具体用法?Python Utilities.processRotation怎么用?Python Utilities.processRotation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在utilities.Utilities的用法示例。


在下文中一共展示了Utilities.processRotation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from utilities import Utilities [as 别名]
# 或者: from utilities.Utilities import processRotation [as 别名]

#.........这里部分代码省略.........
                    if(len(value)<2):
                        value="0"+value
                    output=output+ value+" "
        else:
                for i in range(0,len(data)):
                    value=hex(ord(data[i])).split("0x")[1]
                    if(len(value)<2):
                        value="0"+value
                    output=output+ value+" "
        return output
 

    def encodePacket(self,data):
        
        encLength = self.dll.encryptThePacket(data,len(data),self.dataBuffer,self.sseqP,self.cseqP,self.psetupP)
        return self.dataBuffer[0:encLength]
    

    def processInitPacket(self):
        
        self.data = self.ut.loadFilePacket(0)
        response = self.encodePacket(self.data)
        return response
     
    def processAckPacket(self,packet):
        response = self.encodePacket("\x02")
        return response
    
    def processPacket(self,packet):
        if(packet[0]=="\x00" and self.status!=0): 
            return packet #If packet is unencrypted, we echo it (if not first!)

        data = self.formatData(packet) # Put that in human readable form plz.        
                
        if (data.startswith("02 04 01 00") and self.status>3):
            splittedData=data.split(" ")
            if (splittedData[5:9]==["01","29","80","c2"]): #It's a jump of any kind
                print "Jump packet"
                (response,newX,newY,newZ)= self.ut.processJump(splittedData,self.playerData["x"],self.playerData["y"],self.playerData["z"])
                if(response!=[]):
                    self.playerData["x"]=newX
                    self.playerData["y"]=newY
                    self.playerData["z"]=newZ
                    for i in range(0,len(response)):
                        response[i]=self.encodePacket(response[i])
                    return response
            else: #it could be a mood/animation/emote yet
                moodAnimationEmote = self.ut.processEmoteMoodAnimation(data,self.playerData["x"],self.playerData["y"],self.playerData["z"])
                if (moodAnimationEmote!=""):
                    return self.encodePacket(moodAnimationEmote)
        
        elif (data.startswith("02 03 02 00 01 08")): #that's a update coord packet
            (movement,x,y,z) = self.ut.processMovement(data) # yes, we will return 4 values, cool
            if (movement!=""):
                self.playerData["x"]=x
                self.playerData["y"]=y
                self.playerData["z"]=z
                return self.processAckPacket(packet)            
        elif (data.startswith("02 03 02 00 01 06") or data.startswith("02 03 02 00 01 04")): # rotation end or rotation update
            self.playerData["rotation"]=self.ut.processRotation(data)
            return self.processAckPacket(packet)
        
        elif ("63 6f 6d 62 61 74" in data):
            response = data = self.ut.replay("combat.log")
            for i in range(0,len(response)):
                response[i]=self.encodePacket(response[i])
            return response
            
        #packet unknown or status not loaded 100% yet
        if (self.status==0):
            self.status = self.status+1
            return self.processInitPacket()

        print "%s ### %s\n"% (self.myOwnID,data)
        
        
        if(self.status==1):
            self.psetup=c_int(1)
            self.psetupP = pointer(self.psetup)
        
        if(self.status==3):
            self.psetup=c_int(15)
            self.psetupP = pointer(self.psetup)
            
        if(self.status==4):
            self.psetup=c_int(127)
            self.psetupP = pointer(self.psetup)
        
      
        if (self.status >=len(self.ut.worldPackets)): #if we dont know what else to answer... say "OK"
            self.status = self.status+1
            return self.processAckPacket(packet)
        
        response = self.encodePacket(self.ut.loadFilePacket(self.status))
        self.status = self.status+1
        time.sleep(0.2)
        return response

    def send(self,data):
        self.UDPSock.sendto(data, (self.addr[0],self.addr[1]))
开发者ID:hdneo,项目名称:realityV2,代码行数:104,代码来源:clientObject.py


注:本文中的utilities.Utilities.processRotation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。