基础对象移动新增是否可行区域判断
This commit is contained in:
parent
651902908c
commit
db1fd3dfd4
|
|
@ -6,6 +6,9 @@
|
||||||
*/
|
*/
|
||||||
class BaseObject extends Actor {
|
class BaseObject extends Actor {
|
||||||
|
|
||||||
|
//所在地图
|
||||||
|
MySelfMap = null;
|
||||||
|
|
||||||
//方向
|
//方向
|
||||||
Direction = 1;
|
Direction = 1;
|
||||||
|
|
||||||
|
|
@ -73,24 +76,41 @@ class BaseObject extends Actor {
|
||||||
Z = vargv[1];
|
Z = vargv[1];
|
||||||
base.MoveTo(Value, vargv[0] - vargv[1]);
|
base.MoveTo(Value, vargv[0] - vargv[1]);
|
||||||
}
|
}
|
||||||
|
SetZOrder(Y);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//传入坐标 xyz 的table 或者 单独传 xyz
|
//传入坐标 xyz 的table 或者 单独传 xyz
|
||||||
function MoveBy(Value, ...) {
|
function MoveBy(Value, ...) {
|
||||||
if (vargv.len() == 0) {
|
if (vargv.len() == 0) {
|
||||||
X += Value.x;
|
//如果在地图中 判断是否可行
|
||||||
Y += Value.y;
|
if (MySelfMap) {
|
||||||
|
local pos = MySelfMap.CheckMovableArea(X, Value.x, Y, Value.y);
|
||||||
|
X += pos.x;
|
||||||
|
Y += pos.y;
|
||||||
|
base.MoveBy(pos.x, pos.y - Value.z);
|
||||||
|
} else {
|
||||||
|
X += Value.x;
|
||||||
|
Y += Value.y;
|
||||||
|
Value.y = Value.y - Value.z;
|
||||||
|
base.MoveBy(Value);
|
||||||
|
}
|
||||||
Z += Value.z;
|
Z += Value.z;
|
||||||
Value.y = Value.y - Value.z;
|
|
||||||
base.MoveBy(Value);
|
|
||||||
} else if (vargv.len() == 2) {
|
} else if (vargv.len() == 2) {
|
||||||
X += Value;
|
//如果在地图中 判断是否可行
|
||||||
Y += vargv[0];
|
if (MySelfMap) {
|
||||||
|
local pos = MySelfMap.CheckMovableArea(X, Value, Y, vargv[0]);
|
||||||
|
X += pos.x;
|
||||||
|
Y += pos.y;
|
||||||
|
base.MoveBy(pos.x, pos.y - vargv[1]);
|
||||||
|
} else {
|
||||||
|
X += Value;
|
||||||
|
Y += vargv[0];
|
||||||
|
base.MoveBy(Value, vargv[0] - vargv[1]);
|
||||||
|
}
|
||||||
Z += vargv[1];
|
Z += vargv[1];
|
||||||
base.MoveBy(Value, vargv[0] - vargv[1]);
|
|
||||||
}
|
}
|
||||||
|
SetZOrder(Y);
|
||||||
|
MySelfMap.CheckMovableAreaTransmit(this, X, Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置方向
|
//设置方向
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue