合并272改

This commit is contained in:
ckcz123 2020-10-13 15:37:06 +08:00
parent c85b9b49e7
commit 5e5f5628f6
10 changed files with 41 additions and 46 deletions

View File

@ -1726,9 +1726,6 @@ name为画布名可以是系统画布之一也可以是任意自定义动
如果name也可以是'all'若为all则为清空所有系统画布。
参考资料https://www.w3school.com.cn/tags/canvas_clearrect.asp
clearTip: fn()
清除左上角提示内容
clearUI: fn()
清空UI层内容

View File

@ -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)"

View File

@ -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+']';

View File

@ -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(),

View File

@ -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": "和该怪物战斗后触发的事件列表"
}
}
},

View File

@ -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;
}

View File

@ -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');

View File

@ -1,28 +1,30 @@
2.7.2改版和多语言版中做出的功能性改进:
1. terrains.png中追加了14种薄墙图块不可出入方向一致画在非事件层可使勇士和阻击怪无法穿过和仿rm柜台但没有向下延伸绘制的效果。
2. 怪物追加了批量战后事件比照了道具的useItemEvent和其他图块的script此事件对同种任何怪物生效移动/跳跃后依然生效。
(√)2. 怪物追加了批量战后事件比照了道具的useItemEvent和其他图块的script此事件对同种任何怪物生效移动/跳跃后依然生效。
?2.1 炸弹只炸面前的情况增加了触发两种战后事件,以方便作者。
x3. 怪物追加了攻击勇士的动画,该动画存在时会作为勇士攻击怪物动画的回调,天降强制战斗时则覆盖勇士攻击怪物的动画。
x4. 插件编写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以方便玩家继续选择其他道具破炸冰这三个先斩后奏的就没办法了
x7. 无参的入口方块全部统一比如战后、开门后、两个arrive和公共事件以方便复制粘贴不然老提示入口方块类型不符。
x7.1 doorInfo的开关门时间分成了两个数有些门开关速度作者可能需要不一致。
7.2 无视地形移动/跳跃勇士挪到了地图处理类,因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。
x7.3 UI绘制的颜色改成了注释的浅紫色各种子场合块的颜色改成了入口方块的深紫色以和地图处理类的浅蓝色相区分。
8. 修复了Math一元运算值块转换为json时的语法错误追加了部分函数。
x8.1 drawTip事件追加了第几帧的参数。
x9. 玩家设置中追加了左撇子模式开启后wsad起方向键的作用ijkl起原wsad的SL作用以方便键鼠并用。
10. 移除了部分引用极少的函数如仇恨怪详情、claerTip和
x10.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游戏网站在发布时会限制上传的文件格式使用标准后缀也有利于作者。
x16. animate这个后缀名修改为了json以方便文本编辑器等程序去识别另外某些h5游戏网站在发布时会限制上传的文件格式使用标准后缀也有利于作者。
17. flyTo中修改了楼层属性flyPoint的生效方式改成了作为stair参数生效而不是覆盖heroLoc两个相关事件的stair下拉框也提供了flyPoint项。
18. 楼层属性canFlyTo拆成了两项即canFlyTo和canFlyFrom以方便作者个性化。
19. getSpecials由yzm优化了配色优化了固伤属性的描述可被负伤抵消
20. 难度单词为空字符串时显示“竖屏数字键”以提示竖屏玩家。另外希望修复读档等场合红一下的bug
x20. 难度单词为空字符串时显示“竖屏数字键”以提示竖屏玩家。另外希望修复读档等场合红一下的bug
21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。
x22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画暂不包括F7的绘制此功能建议要么merge要么作为系统开关让作者取舍毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。
23. 事件编辑器中图块id自动补全追加了图标感谢ad更新了atkValue、defValue、range和n等的表格注释。

View File

@ -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
View File

@ -2143,9 +2143,6 @@ declare class ui {
*/
drawTip(text: string, id?: string, frame?: number): void
/** 清除提示内容 */
clearTip(): void
/** 地图中间绘制一段文字 */
drawText(contents: string, callback?: () => any): void