DNF_DEV_SQR

This commit is contained in:
2025-10-10 12:27:21 +08:00
commit 54854c0915
11 changed files with 320 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
/*
文件名:Move.nut
路径:Game/CharacterScript/Common/Move.nut
创建日期:2025-10-03 02:02
文件用途:角色移动脚本
*/
function checkCanChangeState_Character_Move(obj) {
//获取当前状态
local CurState = obj.GetState();
//得到摇杆的数据 X 和 Y的范围 -1.0 ~ 1.0
local arr = obj.GetVars("_move_data_", "float");
if (fabs(arr[0]) > 0.35 || fabs(arr[1]) > 0.35) {
return true;
} else return false;
}
function SetState_Character_Move(obj) {
//获取移动数据
local arr = obj.GetVars("_move_data_", "float");
//设置人物朝向 摇杆X轴大于0则朝右小于0则朝左
local SetValue = arr[0] > 0 ? 0 : 1;
if (SetValue != obj.GetDirection()) {
if (fabs(arr[0]) > 0.35) obj.SetDirection(SetValue);
//设置动作
obj.SetAction("move");
} else {
if (obj.GetState() != 1) obj.SetAction("move");
}
local Speed = 250;
local Dir = obj.GetDirection();
local Pos = obj.GetPosition();
local XOffset = null;
if (fabs(arr[0]) > 0.35) XOffset = ((arr[0] > 0 ? Speed : -Speed));
else XOffset = 0;
local YOffset = null;
//当摇杆Y轴大于0.35或小于-0.35时设置Y轴偏移量
if (fabs(arr[1]) > 0.35) YOffset = (arr[1] > 0 ? Speed : -Speed);
else YOffset = 0;
obj.SetSpeed(XOffset, YOffset, null);
}
function ProcState_Character_Move(obj, DeltaTime) {
//获取移动数据
local arr = obj.GetVars("_move_data_", "float");
if (arr[0] == 0 && arr[1] == 0) {
obj.SetState(0);
}
}