From bac9ec78b9e0fb41175d23c3444a47b99edcc6f5 Mon Sep 17 00:00:00 2001 From: Lenheart <947330670@qq.com> Date: Wed, 25 Dec 2024 11:33:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=B1=BB=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=20=E6=8E=A7=E5=88=B6=E5=99=A8=20=E6=96=B0=E5=A2=9E=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActiveObject/CharacterObjectClass.nut | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/sqr/User/Object/ActiveObject/CharacterObjectClass.nut b/sqr/User/Object/ActiveObject/CharacterObjectClass.nut index 44689d5..4dde1e4 100644 --- a/sqr/User/Object/ActiveObject/CharacterObjectClass.nut +++ b/sqr/User/Object/ActiveObject/CharacterObjectClass.nut @@ -21,6 +21,9 @@ class GameObject.Character extends GameObject.ActiveObject { //动画对象管理器 AnimationManager = null; + //传送阵Flag + TransmitFlag = false; + //属性对象 Attribute = null; @@ -30,6 +33,13 @@ class GameObject.Character extends GameObject.ActiveObject { //职业编号 Job = 0; + //控制器 + Controller = null; + + function _typeof() { + return "character"; + } + function Init(Idx) { //初始化动画组 @@ -51,6 +61,9 @@ class GameObject.Character extends GameObject.ActiveObject { } //构造属性对象 // Attribute = AttributeClass(); + + //分配控制器 + Controller = Object_Controller(this); } @@ -94,7 +107,6 @@ class GameObject.Character extends GameObject.ActiveObject { if (AnimationManager) AnimationManager.SetAnimation(Ani); } - //切换装备 function ChangeEquipment(Equ) { //如果当前装备槽已经有装备则移除 @@ -126,6 +138,42 @@ class GameObject.Character extends GameObject.ActiveObject { AnimationManager.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); + } } //通过职业和装备列表来构造一个角色