mirror of
https://github.com/unanmed/HumanBreak.git
synced 2026-11-09 14:24:30 +08:00
feat: 地图渲染大致完成
This commit is contained in:
1 parent
2316bc4cad
commit
117bd94928
30 files changed
+1921
-148
No files matched your search
+17
-24
@@ -802,19 +802,19 @@ control.prototype.setHeroMoveInterval = function (callback) {
|
||||
if (core.status.replay.speed > 6) toAdd = 4;
|
||||
if (core.status.replay.speed > 12) toAdd = 8;
|
||||
|
||||
Mota.r(() => {
|
||||
const render = Mota.require('module', 'Render').heroRender;
|
||||
render.move(true);
|
||||
});
|
||||
// Mota.r(() => {
|
||||
// const render = Mota.require('module', 'Render').heroRender;
|
||||
// render.move(true);
|
||||
// });
|
||||
|
||||
core.interval.heroMoveInterval = window.setInterval(function () {
|
||||
render.offset += toAdd * 4;
|
||||
// render.offset += toAdd * 4;
|
||||
core.status.heroMoving += toAdd;
|
||||
if (core.status.heroMoving >= 8) {
|
||||
clearInterval(core.interval.heroMoveInterval);
|
||||
core.status.heroMoving = 0;
|
||||
render.offset = 0;
|
||||
render.move(false);
|
||||
// render.offset = 0;
|
||||
// render.move(false);
|
||||
if (callback) callback();
|
||||
}
|
||||
}, ((core.values.moveSpeed / 8) * toAdd) / core.status.replay.speed);
|
||||
@@ -1014,29 +1014,19 @@ control.prototype.tryMoveDirectly = function (destX, destY) {
|
||||
control.prototype.drawHero = function (status, offset = 0, frame) {
|
||||
if (!core.isPlaying() || !core.status.floorId || core.status.gameOver)
|
||||
return;
|
||||
if (main.mode === 'play') {
|
||||
Mota.require('module', 'Render').heroRender.draw();
|
||||
if (!core.hasFlag('__lockViewport__')) {
|
||||
const { x, y, direction } = core.status.hero.loc;
|
||||
var way = core.utils.scan2[direction];
|
||||
var dx = way.x,
|
||||
dy = way.y;
|
||||
var offsetX =
|
||||
typeof offset == 'number' ? dx * offset : offset.x || 0;
|
||||
var offsetY =
|
||||
typeof offset == 'number' ? dy * offset : offset.y || 0;
|
||||
offset = { x: offsetX, y: offsetY, offset: offset };
|
||||
this._drawHero_updateViewport(x, y, offset);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var x = core.getHeroLoc('x'),
|
||||
y = core.getHeroLoc('y'),
|
||||
direction = core.getHeroLoc('direction');
|
||||
status = status || 'stop';
|
||||
if (!offset) offset = 0;
|
||||
|
||||
var way = core.utils.scan2[direction];
|
||||
var dx = way.x,
|
||||
dy = way.y;
|
||||
var offsetX = typeof offset == 'number' ? dx * offset : offset.x || 0;
|
||||
var offsetY = typeof offset == 'number' ? dy * offset : offset.y || 0;
|
||||
offset = { x: offsetX, y: offsetY, offset: offset };
|
||||
|
||||
core.clearAutomaticRouteNode(x + dx, y + dy);
|
||||
core.clearMap('hero');
|
||||
core.status.heroCenter.px = 32 * x + offsetX + 16;
|
||||
@@ -1048,6 +1038,9 @@ control.prototype.drawHero = function (status, offset = 0, frame) {
|
||||
delete core.canvas.hero._px;
|
||||
delete core.canvas.hero._py;
|
||||
core.status.preview.enabled = false;
|
||||
if (!core.hasFlag('__lockViewport__')) {
|
||||
this._drawHero_updateViewport(x, y, offset);
|
||||
}
|
||||
|
||||
this._drawHero_draw(direction, x, y, status, offset, frame);
|
||||
};
|
||||
|
||||
@@ -3291,6 +3291,14 @@ maps.prototype.setBlock = function (number, x, y, floorId, noredraw) {
|
||||
}
|
||||
}
|
||||
}
|
||||
Mota.require('var', 'hook').emit(
|
||||
'setBlock',
|
||||
x,
|
||||
y,
|
||||
floorId,
|
||||
originBlock?.id ?? 0,
|
||||
number
|
||||
);
|
||||
};
|
||||
|
||||
maps.prototype.animateSetBlock = function (
|
||||
|
||||
@@ -40,7 +40,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[18],"value":20},
|
||||
"evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":800,"def":350,"money":1,"exp":40,"point":0,"special":[2]},
|
||||
"evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":800,"def":350,"money":1,"exp":40,"point":0,"special":[2],"bigImage":"bear.png"},
|
||||
"frozenSkeleton": {"name":"冻死骨","hp":7500,"atk":2500,"def":1000,"money":2,"exp":90,"point":0,"special":[1,20],"crit":500,"ice":10,"description":"弱小,无助,哀嚎,这就是残酷的现实。哪怕你身处极寒之中,也难有人对你伸出援手。人类总会帮助他人,但在这绝望的环境下,人类的本性便暴露无遗。这一个个精致却又无情的骷髅,便是那些在极寒之中死去的冤魂。"},
|
||||
"silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
main.floors.MT76=
|
||||
{
|
||||
"floorId": "MT76",
|
||||
"title": "苍蓝之殿-左上",
|
||||
"name": "76",
|
||||
"width": 15,
|
||||
"height": 15,
|
||||
"canFlyTo": true,
|
||||
"canFlyFrom": true,
|
||||
"canUseQuickShop": true,
|
||||
"cannotViewMap": false,
|
||||
"images": [],
|
||||
"ratio": 8,
|
||||
"defaultGround": "T650",
|
||||
"bgm": "palaceNorth.mp3",
|
||||
"firstArrive": [],
|
||||
"eachArrive": [],
|
||||
"parallelDo": "",
|
||||
"events": {},
|
||||
"changeFloor": {},
|
||||
"beforeBattle": {},
|
||||
"afterBattle": {},
|
||||
"afterGetItem": {},
|
||||
"afterOpenDoor": {},
|
||||
"autoEvent": {},
|
||||
"cannotMove": {},
|
||||
"cannotMoveIn": {},
|
||||
"map": [
|
||||
"floorId": "MT76",
|
||||
"title": "苍蓝之殿-左上",
|
||||
"name": "76",
|
||||
"width": 15,
|
||||
"height": 15,
|
||||
"canFlyTo": true,
|
||||
"canFlyFrom": true,
|
||||
"canUseQuickShop": true,
|
||||
"cannotViewMap": false,
|
||||
"images": [],
|
||||
"ratio": 8,
|
||||
"defaultGround": "T650",
|
||||
"bgm": "palaceNorth.mp3",
|
||||
"firstArrive": [],
|
||||
"eachArrive": [],
|
||||
"parallelDo": "",
|
||||
"events": {},
|
||||
"changeFloor": {},
|
||||
"beforeBattle": {},
|
||||
"afterBattle": {},
|
||||
"afterGetItem": {},
|
||||
"afterOpenDoor": {},
|
||||
"autoEvent": {},
|
||||
"cannotMove": {},
|
||||
"cannotMoveIn": {},
|
||||
"map": [
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
@@ -42,4 +42,16 @@ main.floors.MT76=
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
],
|
||||
"bgmap": [
|
||||
|
||||
],
|
||||
"fgmap": [
|
||||
|
||||
],
|
||||
"bg2map": [
|
||||
|
||||
],
|
||||
"fg2map": [
|
||||
|
||||
]
|
||||
}
|
||||
@@ -1,31 +1,31 @@
|
||||
main.floors.MT81=
|
||||
{
|
||||
"floorId": "MT81",
|
||||
"title": "苍蓝之殿-左上",
|
||||
"name": "81",
|
||||
"width": 15,
|
||||
"height": 15,
|
||||
"canFlyTo": true,
|
||||
"canFlyFrom": true,
|
||||
"canUseQuickShop": true,
|
||||
"cannotViewMap": false,
|
||||
"images": [],
|
||||
"ratio": 8,
|
||||
"defaultGround": "T650",
|
||||
"bgm": "palaceNorth.mp3",
|
||||
"firstArrive": [],
|
||||
"eachArrive": [],
|
||||
"parallelDo": "",
|
||||
"events": {},
|
||||
"changeFloor": {},
|
||||
"beforeBattle": {},
|
||||
"afterBattle": {},
|
||||
"afterGetItem": {},
|
||||
"afterOpenDoor": {},
|
||||
"autoEvent": {},
|
||||
"cannotMove": {},
|
||||
"cannotMoveIn": {},
|
||||
"map": [
|
||||
"floorId": "MT81",
|
||||
"title": "苍蓝之殿-左上",
|
||||
"name": "81",
|
||||
"width": 15,
|
||||
"height": 15,
|
||||
"canFlyTo": true,
|
||||
"canFlyFrom": true,
|
||||
"canUseQuickShop": true,
|
||||
"cannotViewMap": false,
|
||||
"images": [],
|
||||
"ratio": 8,
|
||||
"defaultGround": "T650",
|
||||
"bgm": "palaceNorth.mp3",
|
||||
"firstArrive": [],
|
||||
"eachArrive": [],
|
||||
"parallelDo": "",
|
||||
"events": {},
|
||||
"changeFloor": {},
|
||||
"beforeBattle": {},
|
||||
"afterBattle": {},
|
||||
"afterGetItem": {},
|
||||
"afterOpenDoor": {},
|
||||
"autoEvent": {},
|
||||
"cannotMove": {},
|
||||
"cannotMoveIn": {},
|
||||
"map": [
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
@@ -42,4 +42,16 @@ main.floors.MT81=
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
],
|
||||
"bgmap": [
|
||||
|
||||
],
|
||||
"fgmap": [
|
||||
|
||||
],
|
||||
"bg2map": [
|
||||
|
||||
],
|
||||
"fg2map": [
|
||||
|
||||
]
|
||||
}
|
||||
@@ -73,7 +73,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"83": {"cls":"animates","id":"redDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"redKey":1}},"name":"红门"},
|
||||
"84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"greenKey":1}},"name":"绿门"},
|
||||
"85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"specialKey":1}},"name":"机关门"},
|
||||
"86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"steelKey":1}},"name":"铁门"},
|
||||
"86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"steelKey":1}},"name":"铁门","bigImage":"bear.png"},
|
||||
"87": {"cls":"terrains","id":"upFloor","canPass":true},
|
||||
"88": {"cls":"terrains","id":"downFloor","canPass":true},
|
||||
"89": {"cls":"animates","id":"portal","canPass":true},
|
||||
|
||||
+1
-1
@@ -392,7 +392,7 @@ p#name {
|
||||
}
|
||||
|
||||
#hero {
|
||||
display: none;
|
||||
/* display: none; */
|
||||
z-index: 40;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user