local LevelRabbitRole = {} function LevelRabbitRole:ctor() self.last_animation = "back/move" end function LevelRabbitRole:ReceiveBeginPlay() self["SpineAnimationComponent"]:SetSkin("back/move"); self["SpineAnimationComponent"]:SetAnimation(0, "animation", true); end function LevelRabbitRole:OnMove(location) -- 控制器移动相应函数 self["MovementComponent"]:MoveTo(location) end function LevelRabbitRole:UpdateMoveDirection(InDirection) -- 运动组件更新方向响应函数 local cur_animation if(InDirection.Y >= 0) then cur_animation = "front/move" else cur_animation = "back/move" end if cur_animation ~= self.last_animation then self["SpineAnimationComponent"]:SetSkin(cur_animation) self["SpineAnimationComponent"]:SetSlotsToSetupPose() self.last_animation = cur_animation end end function LevelRabbitRole:OnDetachCamera() print(self, "LevelRabbitRole.OnDetachCamera") -- 禁用弹簧臂的附着 self["SpringArmComponent"].bEnableCameraRotationLag = true self["SpringArmComponent"].CameraRotationLagSpeed = 0 -- 保持当前位置,停止跟随 self["SpringArmComponent"].bInheritPitch = true self["SpringArmComponent"].bInheritYaw = true self["SpringArmComponent"].bInheritRoll = true -- (Pitch=0.000000,Yaw=-90.000000,Roll=0.000000) end function LevelRabbitRole:OnReattachCamera() print(self, "LevelRabbitRole.OnReattachCamera") end function LevelRabbitRole:OnMoveCamera(direction) print(self, "LevelRabbitRole.OnMoveCamera", direction.X, direction.Y) end return Class(nil, nil, LevelRabbitRole)