59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
|  | 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) |