/* 文件名: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]); } } }