/* 文件名:ObjectClass.nut 路径:GameClass/ObjectClass/ObjectClass.nut 创建日期:2024-05-09 22:26 文件用途:基础对象 */ class Object extends CL_BaseObject { //方向 Direction = 1; //坐标 X = 0; Y = 0; Z = 0; constructor(...) { local C_Object; if (vargv.len() == 0) { C_Object = BaseObject_Create(); } else { C_Object = vargv[0]; } base.constructor(C_Object); //锚点居中 SetAnchor(0.5, 0.5); } //传入坐标 xyz 的table 或者 单独传 xyz function SetPosition(Value, ...) { if (vargv.len() == 0) { X = Value.x; Y = Value.y; Z = Value.z; Value.y = Value.y - Value.z; base.SetPosition(Value); } else if (vargv.len() == 2) { X = Value; Y = vargv[0]; Z = vargv[1]; base.SetPosition(Value, vargv[0] - vargv[1]); } } //传入坐标 xyz 的table 或者 单独传 xyz function MoveTo(Value, ...) { if (vargv.len() == 0) { X = Value.x; Y = Value.y; Z = Value.z; Value.y = Value.y - Value.z; base.MoveTo(Value); } else if (vargv.len() == 2) { X = Value; Y = vargv[0]; Z = vargv[1]; base.MoveTo(Value, vargv[0] - vargv[1]); } } //传入坐标 xyz 的table 或者 单独传 xyz function MoveBy(Value, ...) { if (vargv.len() == 0) { X += Value.x; Y += Value.y; Z += Value.z; Value.y = Value.y - Value.z; base.MoveBy(Value); } else if (vargv.len() == 2) { X += Value; Y += vargv[0]; Z += vargv[1]; base.MoveBy(Value, vargv[0] - vargv[1]); } } //设置方向 function SetDirection(D) { if (D == DIRECTION.RIGHT) { SetScale(fabs(GetScale().x), GetScale().y); } else if (D == DIRECTION.LEFT) { SetScale(-fabs(GetScale().x), GetScale().y); } Direction = D; } //销毁自身 function DestroySelf() { RemoveSelf(); } }