12 KiB
12 KiB
附录:API列表
所有系统支持的API都列在了这里。可能被做塔时自定义JS脚本中涉及到的以红色字体标出,并有着详细的解释。
可以在chrome浏览器的控制台中(ctrl+shift+I,找到Console)中直接进行调用,以查看效果。
!> core.js:系统核心文件。所有核心逻辑处理都在此文件完成。
core.status.floorId //获得当前层floorId
core.status.thisMap //获得当前层的地图信息
//------ 初始化部分 ------
core.init //初始化
core.showStartAnimate //显示开始界面
core.hideStartAnimate //隐藏开始界面
core.setStartProgressVal //设置加载进度条进度
core.setStartLoadTipText //设置加载进度条提示文字
core.loader //加载图片和音频
core.loadImage //加载图片
core.loadSound //加载音频
core.loadSoundItem //加载某一个音频
core.isPlaying //游戏是否已经开始
core.clearStatus //清除游戏状态和数据
core.resetStatus //重置游戏状态和初始数据
core.startGame //具体开始游戏
core.restart //重新开始游戏;此函数将回到标题页面
//------ 键盘、鼠标事件 ------
core.onKeyDown //按下某个键时
core.onKeyUp //放开某个键时
core.pressKey //按住某个键不动时
core.keyDown //根据按下键的code来执行一系列操作
core.keyUp //根据放开键的code来执行一系列操作
core.ondown //点击(触摸)事件按下时
core.onmove //当在触摸屏上滑动时
core.onup //当点击(触摸)事件放开时
core.getClickLoc //获得点击事件相对左上角的坐标(0到12之间)
core.onclick //具体点击屏幕上(x,y)点时,执行的操作
core.onmousewheel //滑动鼠标滚轮时的操作(楼层传送时可用滚轮切换楼层)
//------ 自动寻路代码相关 ------
core.clearAutomaticRouteNode //清除自动寻路路线
core.stopAutomaticRoute //停止自动寻路操作
core.continueAutomaticRoute //继续剩下的自动寻路操作
core.clearContinueAutomaticRoute //清除剩下的自动寻路列表
core.setAutomaticRoute //设置一个自动寻路
core.automaticRoute //自动寻路算法,找寻最优路径
core.fillPosWithPoint //显示离散的寻路点
core.clearStepPostfix //清除已经寻路过的部分
//------ 自动行走,行走控制 ------
core.stopAutoHeroMove //停止勇士的自动行走
core.setAutoHeroMove //设置勇士的自动行走路线
core.autoHeroMove //让勇士开始自动行走
core.setHeroMoveInterval //设置行走的效果动画
core.setHeroMoveTriggerInterval //设置勇士行走过程中对途经事件的触发检测
core.turnHero(direction) //设置勇士的方向(转向);如果指定了direction则会面向该方向,否则执行一个转向操作。
core.moveHero //让勇士开始移动
core.moveOneStep //每移动一格后执行的事件。中毒时在这里进行扣血判断。
core.waitHeroToStop(callback) //停止勇士的一切行动,等待勇士行动结束后,再执行callback回调函数。
core.stopHero //停止勇士的移动状态。
core.drawHero //在hero层绘制勇士。
core.setHeroLoc(name, value) //设置勇士的位置。name为”direction”,”x”,”y”
core.getHeroLoc(name) //获得勇士的位置。
core.nextX //获得勇士面对位置的x坐标
core.nextY //获得勇士面对位置的y坐标
//------ 地图和事件处理 ------
core.openDoor(id, x, y, needKey, callback) //打开一扇位于 (x,y) 的门
core.battle(id, x, y, force, callback) //进行战斗;force表示是否强制战斗
core.trigger(x,y) //触发x,y点的事件
core.changeFloor(floorId, stair, heroLoc, time, callback) //楼层切换floorId为目标楼层Id,stair可指定为上/下楼梯,time动画时间
core.mapChangeAnimate //实际切换的动画效果
core.clearMap //清除地图显示
core.fillText //在某个canvas上绘制一段文字
core.fillRect //在某个canvas上绘制一个矩形
core.strokeRect //在某个canvas上绘制一个矩形的边框
core.setFont //设置某个canvas的文字字体
core.setLineWidth //设置某个canvas的线宽度
core.saveCanvas //保存某个canvas状态
core.loadCanvas //读取某个canvas状态
core.setStrokeStyle //设置某个canvas边框属性
core.setAlpha //设置某个canvas的alpha值
core.setOpacity //设置某个canvas的透明度
core.setFillStyle //设置某个canvas的绘制属性(如颜色等)
core.drawMap(mapId, callback) //绘制某张地图。mapId为地图Id,绘制完毕将执行callback回调函数。
core.noPassExists(x,y) //某个点是否不可通行
core.noPass //某个点是否在区域内且不可通行
core.npcExists(x,y) //某个点是否存在NPC
core.terrainExists(x,y) //某个点是否存在指定的地形
core.stairExists(x,y) //某个点是否存在楼梯
core.nearStair //当前位置是否在楼梯边
core.enemyExists(x,y) //某个点是否存在怪物
core.getBlock(x, y, floorId, needEnable) // 获得某个点的block。floorId指定目标楼层,needEnable如果为false则即使该点的事件处于禁用状态也将被返回(否则只有事件启用的点才被返回)
core.moveBlock //显示移动某块的动画,达到{“type”:”move”}的效果
core.animateBlock //显示/隐藏某个块时的动画效果
core.addBlock //将某个块从禁用变成启用状态
core.removeBlock //将某个块从启用变成禁用状态
core.removeBlockById //根据block的索引删除该块
core.removeBlockByIds //一次性删除多个block
core.addGlobalAnimate //添加一个全局动画
core.removeGlobalAnimate //删除一个或所有全局动画
core.setGlobalAnimate //设置全局动画的显示效果
core.setBoxAnimate //显示UI层某个box的动画(如怪物手册中怪物的动画)
core.drawBoxAnimate // 绘制UI层的box动画
core.updateFg() //更新全地图的显伤
core.itemCount //获得某个物品的个数
core.hasItem //是否存在某个物品
core.setItem //设置某个物品的个数
core.removeItem //删除某个物品
core.useItem // 使用某个物品;直接调用items.js中的useItem函数。
core.canUseItem //能否使用某个物品。直接调用items.js中的canUseItem函数。
core.addItem //增加某个物品的个数
core.getItem //获得某个物品时的事件
core.drawTip //左上角绘制一段提示
core.drawText //地图中间绘制一段文字
//------ 系统机制 ------
core.replaceText //将文字中的${和}(表达式)进行替换
core.calValue //计算表达式的值
core.unshift //向某个数组前插入另一个数组或元素
core.setLocalStorage //设置本地存储
core.getLocalStorage //获得本地存储
core.removeLocalStorage //移除本地存储
core.clone //复制一个对象
core.formatDate //格式化时间为字符串
core.setTwoDigits //两位数显示
core.win //获胜;将直接调用events.js中的win函数
core.lose //失败;将直接调用events.js中的lose函数
core.debug //进入Debug模式,攻防血和钥匙都调成很高的数值
core.checkStatus //判断当前能否进入某个事件
core.openBook //点击怪物手册时的打开操作
core.useFly //点击楼层传送器时的打开操作
core.openToolbox //点击工具栏时的打开操作
core.save //点击保存按钮时的打开操作
core.load //点击读取按钮时的打开操作
core.doSL //实际进行存读档事件
core.syncSave //存档同步操作
core.saveData //存档到本地
core.loadData //从本地读档
core.setStatus //设置勇士属性
core.getStatus //获得勇士属性
core.setFlag //设置某个自定义变量或flag
core.getFlag //获得某个自定义变量或flag
core.hasFlag //是否存在某个自定义变量或flag,且值为true
core.insertAction //往当前事件列表之前插入一系列事件
core.lockControl //锁定状态栏,常常用于事件处理
core.unlockControl //解锁状态栏
core.isset //判断某对象是否不为undefined也不会null
core.playSound //播放音频
core.playBgm //播放背景音乐
core.changeSoundStatus //切换声音状态
core.enableSound //启用音效
core.disableSound //禁用音效
core.show //动画显示某对象
core.hide //动画使某对象消失
core.clearStatusBar //清空状态栏
core.updateStatusBar //更新状态栏
core.resize //屏幕分辨率改变后重新自适应
core.resetSize //屏幕分辨率改变后重新自适应
//------ core.js 结束 ------
!> data.js 定义了一些初始化的数据信息。
!> enemys.js 定义了怪物信息。
core.enemys.getSpecialText //获得特殊属性的文字
core.enemys.getDamage //获得某个怪物的伤害
core.enemys.getCritical //计算某个怪物的临界值
core.enemys.getCriticalDamage //计算某个怪物的临界减伤
core.enemys.getDefDamage //计算某个怪物的1防减伤
core.enemys.calDamage //实际的伤害计算公式
core.enemys.getCurrentEnemys //获得当前层剩下的的怪物列表
!> events.js 定义了各个事件的处理流程。
core.events.startGame //开始游戏
core.events.win //获胜
core.events.lose //失败
core.events.checkBlock //检查领域、夹击事件
core.events.afterChangeFloor //楼层切换结束时的事件
core.events.doEvents //开始执行一系列自定义事件
core.events.doAction //执行当前自定义事件列表中的下一个事件
core.events.insertAction //往当前自定义事件列表前插入若干个事件
core.events.openShop //打开一个全局商店
core.events.disableQuickShop //禁用一个快捷商店
core.events.canUseQuickShop //当前能否使用快捷商店
core.events.useItem //尝试使用道具
core.events.afterBattle //战斗结束后触发的事件
core.events.afterOpenDoor //开一个门后触发的事件
core.events.passNet //经过一个路障
core.events.beforeSaveData //即将存档前可以执行的操作
core.events.afterLoadData //读档后,载入事件前可以执行的操作
//------ 界面上的点击事件 ------
core.events.clickAction //自定义事件处理时,对用户点击的处理
core.events.clickBook //怪物手册打开时,对用户点击的处理
core.events.clickFly //楼层传送器打开时,对用户点击的处理
core.events.clickShop //全局商店打开时,对用户点击的处理
core.events.clickQuickShop //快捷商店选项打开时
core.events.clickToolbox //工具栏打开时
core.events.clickSL //存/读档界面打开时
core.events.clickSettings //设置页面打开时
!> maps.js 定义了地图,以及每个数字所代表的意义。
core.maps.loadFloor //加载某个楼层(从剧本或存档中)
core.maps.getBlock //将数字替换成实际的内容
core.maps.addEvent //向该楼层添加剧本的自定义事件
core.maps.addChangeFloor //向该楼层添加剧本的楼层转换事件
core.maps.initMaps //初始化所有地图
core.maps.save //将当前地图重新变成数字,以便于存档
core.maps.load //将存档中的地图信息重新读取出来
!> ui.js 定义了各种界面的绘制。
core.ui.closePanel //结束一切事件和绘制,关闭UI窗口,返回游戏进程
core.ui.drawTextBox //绘制一个对话框
core.ui.drawChoices //绘制一个选项界面
core.ui.drawConfirmBox //绘制一个确认/取消的警告页面
core.ui.drawSettings //绘制系统菜单栏
core.ui.drawQuickShop //绘制快捷商店选择栏
core.ui.drawWaiting //绘制一个“请稍后”页面
core.ui.drawSyncSave //绘制存档同步选项
core.ui.drawPagination //绘制分页
core.ui.drawEnemyBook //绘制怪物手册
core.ui.drawFly //绘制楼层传送器
core.ui.drawToolbox //绘制道具栏
core.ui.drawSLPanel //绘制存档/读档界面
core.ui.drawThumbnail //绘制一个缩略图
core.ui.drawAbout //绘制“关于”界面