角色类新增 控制器 新增移动逻辑

This commit is contained in:
Lenheart 2024-12-25 11:33:03 +08:00
parent 788e91b94f
commit bac9ec78b9
1 changed files with 49 additions and 1 deletions

View File

@ -21,6 +21,9 @@ class GameObject.Character extends GameObject.ActiveObject {
//动画对象管理器 //动画对象管理器
AnimationManager = null; AnimationManager = null;
//传送阵Flag
TransmitFlag = false;
//属性对象 //属性对象
Attribute = null; Attribute = null;
@ -30,6 +33,13 @@ class GameObject.Character extends GameObject.ActiveObject {
//职业编号 //职业编号
Job = 0; Job = 0;
//控制器
Controller = null;
function _typeof() {
return "character";
}
function Init(Idx) { function Init(Idx) {
//初始化动画组 //初始化动画组
@ -51,6 +61,9 @@ class GameObject.Character extends GameObject.ActiveObject {
} }
//构造属性对象 //构造属性对象
// Attribute = AttributeClass(); // Attribute = AttributeClass();
//分配控制器
Controller = Object_Controller(this);
} }
@ -94,7 +107,6 @@ class GameObject.Character extends GameObject.ActiveObject {
if (AnimationManager) AnimationManager.SetAnimation(Ani); if (AnimationManager) AnimationManager.SetAnimation(Ani);
} }
//切换装备 //切换装备
function ChangeEquipment(Equ) { function ChangeEquipment(Equ) {
//如果当前装备槽已经有装备则移除 //如果当前装备槽已经有装备则移除
@ -126,6 +138,42 @@ class GameObject.Character extends GameObject.ActiveObject {
AnimationManager.SetName(Name); AnimationManager.SetName(Name);
base.SetName(Name); base.SetName(Name);
} }
//移动速度
Move_Speed = 500;
//移动逻辑
function Move(Dt, X, Y) {
if (!Parent) return;
//在城镇里
if (typeof Parent == "townmap") {
if (X == 0 && Y == 0) {
//设置回站立动画
if (AnimationManager.CurrentAni != AnimationManager.RestAni) {
AnimationManager.SetAnimation("RestAni");
}
} else {
//设置移动动画
if (AnimationManager.CurrentAni != AnimationManager.MoveAni) {
AnimationManager.SetAnimation("MoveAni");
}
//设置人物朝向
if (X > 0) SetDirection(DIRECTION.RIGHT);
else if (X< 0) SetDirection(DIRECTION.LEFT);
MoveBy(Dt * X * Move_Speed * 0.001, Dt * Y * Move_Speed * 0.001 * 0.71, 0);
}
}
}
//更新
function OnUpdate(Dt) {
base.OnUpdate(Dt);
//控制器逻辑更新
Controller.OnUpdate(Dt);
}
} }
//通过职业和装备列表来构造一个角色 //通过职业和装备列表来构造一个角色