From 433fa315b263ec3948acbb29b3403b6f2c354ba0 Mon Sep 17 00:00:00 2001 From: Lenheart <947330670@qq.com> Date: Sat, 25 Oct 2025 23:52:26 +0800 Subject: [PATCH] =?UTF-8?q?Actor=20API=E5=A2=9E=E5=8A=A0=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 28 ++---- UI/MainUI.nut | 2 + UI/ObjectClass/Actor.nut | 175 ++++++++++++++++++++++++++++++---- UI/Windows/HUD/Window_hud.nut | 11 ++- UI/Windows/System/NotiBox.nut | 1 + enum.nut | 89 ++++++++++++----- internalInterfaceDoc/func.nut | 66 +++++++++---- 7 files changed, 290 insertions(+), 82 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 3dbb121..fd11c66 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,20 +1,12 @@ { - // 使用 IntelliSense 了解相关属性。 - // 悬停以查看现有属性的描述。 - // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "squirrel", - "request": "attach", - "name": "Server", - "port": 2222 - }, - { - "type": "squirrel", - "request": "attach", - "name": "Client", - "port": 2222 - } - ] + "version": "0.2.0", + "configurations": [ + { + "name": "Attach (squirrel) to localhost:2222", + "type": "squirrel", + "request": "attach", + "port": 2222, + "address": "localhost" + } + ] } \ No newline at end of file diff --git a/UI/MainUI.nut b/UI/MainUI.nut index 6f353e0..a7495d8 100644 --- a/UI/MainUI.nut +++ b/UI/MainUI.nut @@ -30,6 +30,7 @@ function _MainUI_Enter_(UI_Scene) { local Test1 = sq_CreaterWindowInstance("测试窗口", Window_NotiBox, 150, 150, 364, 356, 20); Test1.ResetFoucus(); + local act = Actor(); // local Canv = Canvas(600, 600); // _SYS_UI_SCENE_Instance_.AddChild(Canv); @@ -53,3 +54,4 @@ function _MainUI_Update_(deltaTime) { } //主界面UI退出回调 function _MainUI_Exit_() {} + diff --git a/UI/ObjectClass/Actor.nut b/UI/ObjectClass/Actor.nut index c2ccbe0..6d36147 100644 --- a/UI/ObjectClass/Actor.nut +++ b/UI/ObjectClass/Actor.nut @@ -17,47 +17,188 @@ class Actor extends BaseNode { } } + /** + * 设置名字 + * @function + * @param {string} Name + * @returns {void} + */ + function SetName(Name) { + sq_SetName(this.C_Object, Name); + } + + /** + * 获取名字 + * @function + * @returns {string} + */ + function GetName() { + return sq_GetName(this.C_Object); + } + + /** + * 添加子对象 + * @function + * @param {Actor} Act + * @returns {void} + */ function AddChild(Act) { sq_AddChild(this.C_Object, Act.C_Object); } + /** + * 移除子对象 + * @function + * @param {Actor} Act + * @returns {void} + */ function RemoveChild(Act) { sq_RemoveChild(this.C_Object, Act.C_Object); } + /** + * 设置层级 + * @function + * @param {integer} Order + * @returns {void} + */ function SetZOrder(Order) { sq_SetZOrder(this.C_Object, Order); } - function SetScale(Value, ...) { - if (vargv.len() == 0) - sq_SetScale(this.C_Object, Value); - else if (vargv.len() == 1) - sq_SetScale(this.C_Object, Value, vargv[0]); + /** + * 获取层级 + * @function + * @returns {*} + */ + function GetZOrder() { + return sq_GetZOrder(this.C_Object); } - function SetPos(Value, ...) { - if (vargv.len() == 0) { - sq_SetPos(this.C_Object, Value); - } else if (vargv.len() == 1) { - sq_SetPos(this.C_Object, Value, vargv[0]); + /**设置坐标 */ + function SetPos(...) { + if (vargv.len() == 1) { + sq_SetPos(this.C_Object, vargv[0]); + } else if (vargv.len() == 2) { + sq_SetPos(this.C_Object, vargv[0], vargv[1]); } } - function GetSize(){ - + /** + * 获取坐标 + * @function + */ + function GetPos() { + return sq_GetPos(this.C_Object); } + /** + * 获取世界坐标 + * @function + */ + function GetWorldPos() { + return sq_GetWorldPos(this.C_Object); + } + + /** + * 设置透明度 + * @function + * @param {integer} Alpha + * @returns {void} + */ + function SetAlpha(Alpha) { + sq_SetAlpha(this.C_Object, Alpha); + } + + /** + * 获取透明度 + * @function + * @returns {integer} + */ + function GetAlpha() { + return sq_GetAlpha(this.C_Object); + } + + /** + * 设置缩放 + * @function + */ + function SetScale(Value, ...) { + if (vargv.len() == 0) sq_SetScale(this.C_Object, Value); + else if (vargv.len() == 1) sq_SetScale(this.C_Object, Value, vargv[0]); + } + + /** + * 获取缩放 + * @function + */ + function GetScale() { + return sq_GetScale(this.C_Object); + } + + /** + * 设置旋转角度 + * @function + * @param {float} Angle + * @returns {void} + */ + function SetRotation(Angle) { + sq_SetRotation(this.C_Object, Angle); + } + + /** + * 获取旋转角度 + * @function + * @returns {float} + */ + function GetRotation() { + return sq_GetRotation(this.C_Object); + } + + /** + * 设置大小 + * @function + * @returns {void} + */ + function SetSize(Value, ...) { + if (vargv.len() == 0) sq_SetScale(this.C_Object, Value); + else if (vargv.len() == 1) sq_SetScale(this.C_Object, Value, vargv[0]); + } + + /** + * 获取大小 + * @function + */ + function GetSize() { + return sq_GetSize(this.C_Object); + } + + /** + * 设置可见性 + * @function + * @param {boolean} Flag + * @returns {void} + */ function SetVisible(Flag) { sq_SetVisible(this.C_Object, Flag); } - - function GetWorldPos(){ - return sq_GetWorldPos(this.C_Object); + /** + * 获取可见性 + * @function + * @returns {boolean} + */ + function GetVisible() { + return sq_GetVisible(this.C_Object); } - function SetName(Name) { - sq_SetName(this.C_Object, Name); + /** + * + * @function + * @param {BLENDMODE} BlendMode + * @returns {void} + */ + function SetBlendMode(BlendMode) { + sq_SetBlendMode(this.C_Object, BlendMode); } } diff --git a/UI/Windows/HUD/Window_hud.nut b/UI/Windows/HUD/Window_hud.nut index 3cc8815..1d38cfb 100644 --- a/UI/Windows/HUD/Window_hud.nut +++ b/UI/Windows/HUD/Window_hud.nut @@ -27,8 +27,15 @@ class Window_hud extends GameWindow { * @returns {void} */ function OnMouseEvent(Type, Data, EventInteractiveFlag) { - base.OnMouseEvent(Type, Data, EventInteractiveFlag) - if(Type == UI_EVENT.MOUSEBUTTONDOWN) { + base.OnMouseEvent(Type, Data, EventInteractiveFlag); + if (Type == UI_EVENT.MOUSEBUTTONDOWN) { } } + + /** + * 重载ResetFoucus函数本窗口不需要改变焦点 + * @function + * @returns {void} + */ + function ResetFoucus() {} } diff --git a/UI/Windows/System/NotiBox.nut b/UI/Windows/System/NotiBox.nut index 1cd9241..929830f 100644 --- a/UI/Windows/System/NotiBox.nut +++ b/UI/Windows/System/NotiBox.nut @@ -17,6 +17,7 @@ class Window_NotiBox extends GameWindow { function InitSprite() { local Sp = Sprite("sprite/hud/newantonui.img", 0); + Sp.SetBlendMode(1); AddChild(Sp); local Textobj = Text("测试文本",0,sq_RGBA(255,255,255,255)); diff --git a/enum.nut b/enum.nut index f7315ec..4f4d046 100644 --- a/enum.nut +++ b/enum.nut @@ -6,31 +6,72 @@ */ enum CHARACTERJOB { - SWORDMAN, // 男鬼剑士 - FIGHTER, // 女格斗家 - GUNNER, // 男神枪手 - MAGE, // 女魔法师 - PRIEST, // 男圣职者 - AT_GUNNER, // 女神枪手 - THIEF, // 暗夜使者 - AT_FIGHTER, // 男格斗家 - AT_MAGE, // 男魔法师 - DEMONIC_SWORDMAN, // 黑暗武士 - CREATOR_MAGE, // 缔造者 - AT_SWORDMAN, // 女鬼剑士 - KNIGHT, // 守护者 - DEMONIC_LANCER, // 魔枪士 - AT_PRIEST, // 女圣职者 - GUN_BLADER, // 枪剑士 - ARCHER, // 弓箭手 - MAX // 无 + /**男鬼剑士 */ + SWORDMAN, + /**女格斗家 */ + FIGHTER, + /**男神枪手 */ + GUNNER, + /**女魔法师 */ + MAGE, + /**男圣职者 */ + PRIEST, + /**女神枪手 */ + AT_GUNNER, + /**暗夜使者 */ + THIEF, + /**男格斗家 */ + AT_FIGHTER, + /**男魔法师 */ + AT_MAGE, + /**黑暗武士 */ + DEMONIC_SWORDMAN, + /**缔造者 */ + CREATOR_MAGE, + /**女鬼剑士 */ + AT_SWORDMAN, + /**守护者 */ + KNIGHT, + /**魔枪士 */ + DEMONIC_LANCER, + /**女圣职者 */ + AT_PRIEST, + /**枪剑士 */ + GUN_BLADER, + /**弓箭手 */ + ARCHER, + /**无 */ + MAX } enum UI_EVENT { - MOUSEMOTION, //鼠标移动 - MOUSEBUTTONDOWN, //鼠标按下 - MOUSEBUTTONUP, //鼠标释放 - MOUSEWHEEL //鼠标滚轮 - KEYDOWN //键盘按下 - KEYUP //键盘释放 + /**鼠标移动 */ + MOUSEMOTION, + /**鼠标按下 */ + MOUSEBUTTONDOWN, + /**鼠标释放 */ + MOUSEBUTTONUP, + /**鼠标滚轮 */ + MOUSEWHEEL, + /**键盘按下 */ + KEYDOWN, + /**键盘释放 */ + KEYUP +} + +enum BLENDMODE { + /**无 */ + BLENDMODE_NONE, + /**线性减淡 */ + BLENDMODE_LINEARDODGE, + /**减淡 */ + BLENDMODE_DODGE, + /**变暗 */ + BLENDMODE_DARK, + /**异或 */ + BLENDMODE_XOR, + /**灰度模式 */ + BLENDMODE_MONOCHROME, + /**扭曲 */ + BLENDMODE_SPACE_DISTORT } diff --git a/internalInterfaceDoc/func.nut b/internalInterfaceDoc/func.nut index 2f750f0..2ef1d0b 100644 --- a/internalInterfaceDoc/func.nut +++ b/internalInterfaceDoc/func.nut @@ -92,33 +92,57 @@ function sq_GetDirection(C_Object) {} function sq_SetDirection(C_Object, Dir) {} function sq_CreateActor() {} -function sq_RegisterDestruction(a,b) {} -function sq_CreateSprite(a,b) {} -function sq_CreateCanvas(a,b) {} -function sq_CreateText(a,b,c) {} -function sq_AddChild(a,b){} -function sq_RemoveChild(a,b){} -function sq_SetZOrder(a,b){} +function sq_RegisterDestruction(a, b) {} +function sq_CreateSprite(a, b) {} +function sq_CreateCanvas(a, b) {} +function sq_CreateText(a, b, c) {} +function sq_AddChild(a, b) {} +function sq_RemoveChild(a, b) {} +function sq_SetZOrder(a, b) {} -function sq_SetPos(a,...){} -function sq_SetScale(a,...){} +function sq_SetPos(a, ...) {} +function sq_SetScale(a, ...) {} /** - * - * @function + * + * @function * @param {any} a * @param {any} b * @returns {any} */ -function pow(a,b){} +function pow(a, b) {} +function sq_GetWorldPos(a) { + local t = { x = 1, y = 1 }; + return t; +} +function sq_SetVisible(a, b) {} +function sq_SetAlpha(a, b) {} +function sq_SetName(a, b) {} +function sq_SetSize(...) {} +function sq_SetRotation(a, b) {} +function sq_GetName(a) {} +function sq_GetVisible(a) {} +function sq_GetSize(a) { + local t = { x = 1, y = 1 }; + return t; +} +function sq_GetRotation(a) {} +function sq_GetAlpha(a) {} +function sq_GetScale(a) { + local t = { x = 1, y = 1 }; + return t; +} +function sq_GetZOrder(a) {} +function sq_SetBlendMode(a, b) {} +function sq_Canvas_DrawImg(a, b, c, d) {} +function sq_Canvas_DrawImgRect(a, b, c, d) {} +function sq_GetImg(a) {} +function sq_GetPng(a, b) {} +function sq_OutPutTable(...) {} -function sq_GetWorldPos(a){} -function sq_SetVisible(a,b){} -function sq_SetName(a,b){} -function sq_Canvas_DrawImg(a,b,c,d){} -function sq_Canvas_DrawImgRect(a,b,c,d){} -function sq_GetImg(a){} -function sq_GetPng(a,b){} -function sq_OutPutTable(...){} -function output(...){} +function sq_GetPos(a) { + local t = { x = 1, y = 1 }; + return t; +} +function output(...) {}