61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
/*
|
|
文件名:TileObject.nut
|
|
路径:User/Object/Map/TileObject.nut
|
|
创建日期:2024-11-28 23:17
|
|
文件用途:地板类
|
|
*/
|
|
class Tile extends CL_SpriteObject {
|
|
|
|
m_data = null;
|
|
|
|
function InitData(path) {
|
|
m_data = ScriptData.GetFileData(path, function(DataTable, Data) {
|
|
DataTable.pos <- 0;
|
|
while (!Data.Eof()) {
|
|
local Pack = Data.Get();
|
|
if (Pack == "[IMAGE]") {
|
|
local PathBuf = Data.Get().tolower();
|
|
if (PathBuf.len() > 0) {
|
|
DataTable.path <- "sprite/" + PathBuf;
|
|
DataTable.idx <- Data.Get();
|
|
}
|
|
} else if (Pack == "[img pos]") {
|
|
DataTable.pos <- Data.Get();
|
|
} else if (Pack == "[pass type]") {
|
|
DataTable.pass_type <- [];
|
|
while (!Data.Eof()) {
|
|
DataTable.pass_type.push(Data.Get());
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
constructor(arg) {
|
|
if (typeof arg == "integer") {
|
|
|
|
} else if (typeof arg == "string") {
|
|
InitData(arg);
|
|
if ("path" in m_data)
|
|
base.constructor(m_data.path, m_data.idx);
|
|
else {
|
|
base.constructor("sprite/character/common/circlecooltime.img", 27);
|
|
}
|
|
}
|
|
}
|
|
|
|
//设置坐标
|
|
function SetPosition(Value, ...) {
|
|
if (vargv.len() == 0) {
|
|
Value.y += m_data.pos;
|
|
X = Value.x;
|
|
Y = Value.y;
|
|
BaseObject_SetPosition(this.C_Object, Value);
|
|
} else if (vargv.len() == 1) {
|
|
vargv[0] += m_data.pos;
|
|
X = Value;
|
|
Y = vargv[0];
|
|
BaseObject_SetPosition(this.C_Object, Value, vargv[0]);
|
|
}
|
|
}
|
|
} |