合并272改
This commit is contained in:
parent
c85b9b49e7
commit
5e5f5628f6
@ -1726,9 +1726,6 @@ name为画布名,可以是系统画布之一,也可以是任意自定义动
|
||||
如果name也可以是'all',若为all则为清空所有系统画布。
|
||||
参考资料:https://www.w3school.com.cn/tags/canvas_clearrect.asp
|
||||
|
||||
clearTip: fn()
|
||||
清除左上角提示内容
|
||||
|
||||
clearUI: fn()
|
||||
清空UI层内容
|
||||
|
||||
|
||||
@ -3365,10 +3365,6 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
"!url": "https://www.w3school.com.cn/tags/canvas_arc.asp",
|
||||
"!type": "fn(name: string|CanvasRenderingContext2D, x: number, y: number, r: number, style?: string)"
|
||||
},
|
||||
"clearTip": {
|
||||
"!doc": "清除左上角提示内容",
|
||||
"!type": "fn()"
|
||||
},
|
||||
"strokeRoundRect": {
|
||||
"!doc": "在某个canvas上绘制一个圆角矩形的边框",
|
||||
"!type": "fn(name: string|CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number, style?: string, lineWidth?: number, angle?: number)"
|
||||
|
||||
@ -2070,7 +2070,7 @@ moveHero_s
|
||||
tooltip : moveHero:移动勇士,用这种方式移动勇士的过程中将无视一切地形, 无视一切事件, 中毒状态也不会扣血
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["",false,"上右3下2后4左前2"]
|
||||
colour : this.dataColor
|
||||
colour : this.mapColor
|
||||
IntString_0 = IntString_0 ?(', "time": '+IntString_0):'';
|
||||
Bool_0 = Bool_0?', "async": true':'';
|
||||
var code = '{"type": "moveHero"'+IntString_0+Bool_0+', "steps": '+JSON.stringify(StepString_0)+'},\n';
|
||||
@ -2137,7 +2137,7 @@ tooltip : jumpHero: 跳跃勇士
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["","",500,false]
|
||||
selectPoint : ["PosString_0", "PosString_1"]
|
||||
colour : this.dataColor
|
||||
colour : this.mapColor
|
||||
var floorstr = '';
|
||||
if (PosString_0 && PosString_1) {
|
||||
floorstr = ', "loc": ['+PosString_0+','+PosString_1+']';
|
||||
@ -2156,7 +2156,7 @@ jumpHero_1_s
|
||||
tooltip : jumpHero: 跳跃勇士,给定增量
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["0","0",500,false]
|
||||
colour : this.dataColor
|
||||
colour : this.mapColor
|
||||
var floorstr = '';
|
||||
if (PosString_0 && PosString_1) {
|
||||
floorstr = ', "dxy": ['+PosString_0+','+PosString_1+']';
|
||||
|
||||
@ -125,9 +125,6 @@ editor_blocklyconfig=(function(){
|
||||
MotaActionBlocks['input2_s'].xmlText(),
|
||||
MotaActionBlocks['update_s'].xmlText(),
|
||||
MotaActionBlocks['moveAction_s'].xmlText(),
|
||||
MotaActionBlocks['moveHero_s'].xmlText(),
|
||||
MotaActionBlocks['jumpHero_s'].xmlText(),
|
||||
MotaActionBlocks['jumpHero_1_s'].xmlText(),
|
||||
MotaActionBlocks['changeFloor_s'].xmlText(),
|
||||
MotaActionBlocks['changePos_s'].xmlText(),
|
||||
MotaActionBlocks['battle_s'].xmlText(),
|
||||
@ -148,7 +145,10 @@ editor_blocklyconfig=(function(){
|
||||
MotaActionBlocks['hide_s'].xmlText(),
|
||||
MotaActionBlocks['setBlock_s'].xmlText(),
|
||||
MotaActionBlocks['turnBlock_s'].xmlText(),
|
||||
MotaActionBlocks['moveHero_s'].xmlText(),
|
||||
MotaActionBlocks['move_s'].xmlText(),
|
||||
MotaActionBlocks['jumpHero_s'].xmlText(),
|
||||
MotaActionBlocks['jumpHero_1_s'].xmlText(),
|
||||
MotaActionBlocks['jump_s'].xmlText(),
|
||||
MotaActionBlocks['jump_1_s'].xmlText(),
|
||||
MotaActionBlocks['showBgFgMap_s'].xmlText(),
|
||||
|
||||
@ -236,6 +236,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_range": "thiseval==~~thiseval||thiseval==null",
|
||||
"_docs": "固伤",
|
||||
"_data": "战前扣血的点数"
|
||||
},
|
||||
"afterBattle": {
|
||||
"_leaf": true,
|
||||
"_type": "event",
|
||||
"_event": "afterBattle",
|
||||
"_docs": "战后事件",
|
||||
"_data": "和该怪物战斗后触发的事件列表"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
22
libs/maps.js
22
libs/maps.js
@ -867,21 +867,22 @@ maps.prototype._drawBlockInfo_bgfg = function (blockInfo, name, x, y, ctx) {
|
||||
core.drawImage(ctx, core.material.groundCanvas.canvas, px, py);
|
||||
}
|
||||
var alpha = null;
|
||||
if (name == 'fg' && this._drawBlockInfo_shouldBlurFg()) {
|
||||
var eventArr = this.getMapArray();
|
||||
if (eventArr != null && eventArr[y][x] != 0) {
|
||||
ctx = core.getContextByName(ctx);
|
||||
alpha = ctx.globalAlpha;
|
||||
core.setAlpha(ctx, 0.6);
|
||||
}
|
||||
if (name == 'fg' && this._drawBlockInfo_shouldBlurFg(x, y)) {
|
||||
ctx = core.getContextByName(ctx);
|
||||
alpha = ctx.globalAlpha;
|
||||
core.setAlpha(ctx, 0.6);
|
||||
}
|
||||
core.drawImage(ctx, image, posX * 32, posY * height, 32, height, px, py + 32 - height, 32, height);
|
||||
if (alpha != null) core.setAlpha(ctx, alpha);
|
||||
}
|
||||
|
||||
////// 是否应当存在事件时虚化前景层 //////
|
||||
maps.prototype._drawBlockInfo_shouldBlurFg = function () {
|
||||
return main.mode == 'editor' || core.flags.blurFg;
|
||||
maps.prototype._drawBlockInfo_shouldBlurFg = function (x, y) {
|
||||
if (main.mode == 'play' && !core.flags.blurFg) return false;
|
||||
var block = this.getBlock(x, y);
|
||||
if (block == null || block.id == 0) return false;
|
||||
if (block.event.cls == 'autotile' || block.event.cls == 'tileset') return !block.event.script;
|
||||
return true;
|
||||
}
|
||||
|
||||
////// 生成groundPattern //////
|
||||
@ -1577,8 +1578,7 @@ maps.prototype.stairExists = function (x, y, floorId) {
|
||||
var blockId = this.getBlockId(x, y, floorId);
|
||||
if (blockId == null) return false;
|
||||
var ids = ['upFloor','downFloor'];
|
||||
if (core.flags.flyRecordPosition)
|
||||
ids = ids.concat(['leftPortal','rightPortal','upPortal','downPortal']);
|
||||
ids = ids.concat(['leftPortal','rightPortal','upPortal','downPortal']);
|
||||
return ids.indexOf(blockId)>=0;
|
||||
}
|
||||
|
||||
|
||||
@ -708,11 +708,6 @@ ui.prototype._drawTip_drawOne = function (tip) {
|
||||
core.setAlpha('data', 1);
|
||||
}
|
||||
|
||||
ui.prototype.clearTip = function () {
|
||||
core.clearMap('data', 0, 0, this.PIXEL, 50);
|
||||
core.animateFrame.tip = null;
|
||||
}
|
||||
|
||||
////// 地图中间绘制一段文字 //////
|
||||
ui.prototype.drawText = function (contents, callback) {
|
||||
if (contents != null) return this._drawText_setContent(contents, callback);
|
||||
@ -2126,7 +2121,7 @@ ui.prototype._drawBookDetail = function (index) {
|
||||
if (!enemy) return;
|
||||
var content = info[1].join("\n");
|
||||
core.status.event.id = 'book-detail';
|
||||
core.clearTip();
|
||||
core.animateFrame.tip = null;
|
||||
core.clearMap('data');
|
||||
|
||||
var left = 10, width = this.PIXEL - 2 * left, right = left + width;
|
||||
@ -2330,7 +2325,7 @@ ui.prototype._drawViewMaps = function (index, x, y) {
|
||||
core.status.event.id = 'viewMaps';
|
||||
this.clearUI();
|
||||
if (index == null) return this._drawMaps_drawHint();
|
||||
core.clearTip();
|
||||
core.animateFrame.tip = null;
|
||||
core.status.checkBlock.cache = {};
|
||||
var data = this._drawMaps_buildData(index, x, y);
|
||||
core.fillRect('ui', 0, 0, this.PIXEL, this.PIXEL, '#000000');
|
||||
|
||||
@ -1,28 +1,30 @@
|
||||
2.7.2改版和多语言版中做出的功能性改进:
|
||||
(√)1. terrains.png中追加了14种薄墙图块(不可出入方向一致,画在非事件层可使勇士和阻击怪无法穿过)和仿rm柜台,但没有向下延伸绘制的效果。
|
||||
2. 怪物追加了批量战后事件(比照了道具的useItemEvent和其他图块的script),此事件对同种任何怪物生效,移动/跳跃后依然生效。
|
||||
(√)2. 怪物追加了批量战后事件(比照了道具的useItemEvent和其他图块的script),此事件对同种任何怪物生效,移动/跳跃后依然生效。
|
||||
(?)2.1 炸弹只炸面前的情况增加了触发两种战后事件,以方便作者。
|
||||
(x)3. 怪物追加了攻击勇士的动画,该动画存在时会作为勇士攻击怪物动画的回调,天降强制战斗时则覆盖勇士攻击怪物的动画。
|
||||
(x)4. 插件编写init中追加了两个API用来将project\enemys.js转换成csv格式或转换回来,以方便作者读写(希望此思路也用于其他文件如project\maps.js来方便通行性等属性的读写)。其中批量战后事件的存储方式参考了自定义录像项的要求,即JSON.stringify再core.encodeBase64
|
||||
5. core.stairExists()改为了始终允许87到94号图块,毕竟“不想允许这些图块的作者只需要换别的素材”,而“想允许这些图块的作者则不得不魔改/复写函数或者开启平面模式,但该作者未必需求玩家飞回上次离开的位置”。
|
||||
(√)5. core.stairExists()改为了始终允许87到94号图块,毕竟“不想允许这些图块的作者只需要换别的素材”,而“想允许这些图块的作者则不得不魔改/复写函数或者开启平面模式,但该作者未必需求玩家飞回上次离开的位置”。
|
||||
(√)6. 道具属性移除了equipCondition,与canUseItemEffect合并,null依然表示不可使用但可装备。装备属性的事件编辑器中提示作者修改cls和设置穿戴条件。
|
||||
7. 无参的入口方块全部统一,比如战后、开门后、两个arrive和公共事件,以方便复制粘贴,不然老提示入口方块类型不符。
|
||||
7.1 doorInfo的开关门时间分成了两个数,有些门开关速度作者可能需要不一致。
|
||||
7.2 无视地形移动/跳跃勇士挪到了地图处理类,因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。
|
||||
7.3 UI绘制的颜色改成了注释的浅紫色,各种子场合块的颜色改成了入口方块的深紫色,以和地图处理类的浅蓝色相区分。
|
||||
8. 修复了Math一元运算值块转换为json时的语法错误,追加了部分函数。drawTip事件追加了第几帧的参数。
|
||||
9. 玩家设置中追加了左撇子模式,开启后wsad起方向键的作用,ijkl起原wsad的SL作用,以方便键鼠并用。
|
||||
10. 移除了部分引用极少的函数,如仇恨怪详情、claerTip和tryUseItem改成了直接inline,从道具栏使用道具失败时不再closePanel,以方便玩家继续选择其他道具(破炸冰这三个先斩后奏的就没办法了)。
|
||||
(x)7. 无参的入口方块全部统一,比如战后、开门后、两个arrive和公共事件,以方便复制粘贴,不然老提示入口方块类型不符。
|
||||
(x)7.1 doorInfo的开关门时间分成了两个数,有些门开关速度作者可能需要不一致。
|
||||
(√)7.2 无视地形移动/跳跃勇士挪到了地图处理类,因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。
|
||||
(x)7.3 UI绘制的颜色改成了注释的浅紫色,各种子场合块的颜色改成了入口方块的深紫色,以和地图处理类的浅蓝色相区分。
|
||||
8. 修复了Math一元运算值块转换为json时的语法错误,追加了部分函数。
|
||||
(x)8.1 drawTip事件追加了第几帧的参数。
|
||||
(x)9. 玩家设置中追加了左撇子模式,开启后wsad起方向键的作用,ijkl起原wsad的SL作用,以方便键鼠并用。
|
||||
(√)10. 移除了部分引用极少的函数,如仇恨怪详情、claerTip和
|
||||
(x)10.1 tryUseItem改成了直接inline,从道具栏使用道具失败时不再closePanel,以方便玩家继续选择其他道具(破炸冰这三个先斩后奏的就没办法了)。
|
||||
11. 快速追加npc48一键绑定朝向改为只绑定最后四个,以免影响前面可能的单朝向npc
|
||||
12. 事件层为自动元件或tileset且没有碰触脚本时,该点前景层不再虚化(272改版里若某点只有前景没有事件会出bug,多语言版里已修复),以保证观感的统一。
|
||||
(√)12. 事件层为自动元件或tileset且没有碰触脚本时,该点前景层不再虚化(272改版里若某点只有前景没有事件会出bug,多语言版里已修复),以保证观感的统一。
|
||||
13. 阻激夹域捕捉的显伤排除了不可通行点,以保证观感。修复了零伤阻击点无法阻拦瞬移的bug,并交换了阻击怪后退和捕捉怪移动的次序。相关的canMoveHero中勇士生命改为至少视为1,从而修复了canGoDeadZone为false时空血不能行走的bug。阻激夹域血网的伤害tip文案进行了优化,现在会读取实际的图块名称和怪物特殊属性名称并区分激光的横纵。
|
||||
14. drawChoices选择灰项增加了音效,此音效还用在了其他类似的场合。希望样板多一些这样的小细节并提供rm那样的映射表来修改音效而不是只能替换文件,毕竟替换文件有格式限制。样板的很多系统行为缺少音效,如开关菜单等系统UI时、闪烁光标和黄框位置变化时。建议能提供的都提供出来(胖老鼠和新新那么多音效有了解包出的文件还难以还原,不丢人么。样板3层和h5胖老鼠对话靠的还是无数手动播放音效),录像高倍速播放如果听感不好的话可以忽略。
|
||||
15. 放宽了音频文件的格式限制,如追加了m4a、m4r、flac等,毕竟作者可能会选择其他的渠道传播。
|
||||
16. animate这个后缀名修改为了json,以方便文本编辑器等程序去识别,另外某些h5游戏网站在发布时会限制上传的文件格式,使用标准后缀也有利于作者。
|
||||
(x)16. animate这个后缀名修改为了json,以方便文本编辑器等程序去识别,另外某些h5游戏网站在发布时会限制上传的文件格式,使用标准后缀也有利于作者。
|
||||
17. flyTo中修改了楼层属性flyPoint的生效方式,改成了作为stair参数生效而不是覆盖heroLoc,两个相关事件的stair下拉框也提供了flyPoint项。
|
||||
18. 楼层属性canFlyTo拆成了两项,即canFlyTo和canFlyFrom,以方便作者个性化。
|
||||
19. getSpecials由yzm优化了配色,优化了固伤属性的描述(可被负伤抵消)。
|
||||
20. 难度单词为空字符串时显示“竖屏数字键”,以提示竖屏玩家。另外希望修复读档等场合红一下的bug
|
||||
(x)20. 难度单词为空字符串时显示“竖屏数字键”,以提示竖屏玩家。另外希望修复读档等场合红一下的bug
|
||||
(√)21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。
|
||||
(x)22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画(暂不包括F7)的绘制(此功能建议要么merge要么作为系统开关让作者取舍,毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系),其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。
|
||||
23. 事件编辑器中图块id自动补全追加了图标,感谢ad,更新了atkValue、defValue、range和n等的表格注释。
|
||||
|
||||
@ -382,6 +382,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
if (core.status.floorId != null) {
|
||||
core.push(todo, core.floors[core.status.floorId].afterBattle[x + "," + y]);
|
||||
}
|
||||
core.push(todo, enemy.afterBattle);
|
||||
|
||||
// 在这里增加其他的自定义事件需求
|
||||
/*
|
||||
|
||||
3
runtime.d.ts
vendored
3
runtime.d.ts
vendored
@ -2143,9 +2143,6 @@ declare class ui {
|
||||
*/
|
||||
drawTip(text: string, id?: string, frame?: number): void
|
||||
|
||||
/** 清除提示内容 */
|
||||
clearTip(): void
|
||||
|
||||
/** 地图中间绘制一段文字 */
|
||||
drawText(contents: string, callback?: () => any): void
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user