96 lines
2.2 KiB
Plaintext
96 lines
2.2 KiB
Plaintext
/*
|
|
文件名: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();
|
|
}
|
|
} |