diff --git "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/Game.html" "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/Game.html" index 7946ddc..d120af3 100644 --- "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/Game.html" +++ "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/Game.html" @@ -6,7 +6,7 @@ - + @@ -35,8 +35,10 @@

EasyAvgFramework

- - 开发游戏时,请删除这个防止玩家乱点 +
+ + + 从输入的位置加载指定的章节方便测试用 开发游戏时,请删除这个防止玩家乱点
Copyright © 2020 小沙盒工作室&128hh.
diff --git "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/InitGame.js" "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/InitGame.js" index 09f157b..37dd692 100644 --- "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/InitGame.js" +++ "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/Scene/InitGame.js" @@ -55,6 +55,7 @@ $(function() { file.clearAll() }) + } initUI() //显示bgm @@ -129,4 +130,24 @@ $("#saveGame").click(function() changeScene("../Load_and_Save.html") } }) + //读取指定的章节文件 + $("#loadFromChapterBtn").click(function() + { + var input_str=$("#loadFromInput").val() + var chapterIndex=input_str.split("_")[0] + var lineIndex=input_str.split("_")[1] + var dataObj=PlotLoader.load_from(chapterIndex,lineIndex) + if(dataObj!=null) + { + console.log("存在数据") + dialog.setLoadContent(dataObj) + console.log("#游戏进度_>_"+t_data) + console.warn("#返回的加载后的数据"); + console.log(dataObj); + } + else + { + console.log("#错误,无法获得返回的加载数据") + } + }) }) diff --git "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/module/core.js" "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/module/core.js" index 916454e..ca0fb37 100644 --- "a/bin/\351\237\263\344\271\220\351\244\220\345\216\205/module/core.js" +++ "b/bin/\351\237\263\344\271\220\351\244\220\345\216\205/module/core.js" @@ -113,7 +113,7 @@ this.create_Dialog=function(color) if(data_obj.has_func==false) { // console.clear() - console.warn("#此章节不存在用于脚本,不执行脚本,测试信息,请忽略") + console.warn("#此章节对应自定义js文件不存在,不执行脚本,测试信息,请忽略") alert("不存在js文件,跳过运算js代码") } if(data_obj.has_func==true) diff --git a/fullExample/Scene/Game.html b/fullExample/Scene/Game.html index 3c21929..dfb65f6 100644 --- a/fullExample/Scene/Game.html +++ b/fullExample/Scene/Game.html @@ -30,6 +30,10 @@

EasyAvgFramework

+
+ + + 从输入的位置加载指定的章节方便测试用 开发游戏时,请删除这个防止玩家乱点 开发游戏时,请删除这个防止玩家乱点
Copyright © 2020 小沙盒工作室&128hh.
diff --git a/fullExample/Scene/InitGame.js b/fullExample/Scene/InitGame.js index 442c806..893f133 100644 --- a/fullExample/Scene/InitGame.js +++ b/fullExample/Scene/InitGame.js @@ -124,4 +124,24 @@ $("#saveGame").click(function() changeScene("../Load_and_Save.html") } }) + //读取指定的章节文件 + $("#loadFromChapterBtn").click(function() + { + var input_str=$("#loadFromInput").val() + var chapterIndex=input_str.split("_")[0] + var lineIndex=input_str.split("_")[1] + var dataObj=PlotLoader.load_from(chapterIndex,lineIndex) + if(dataObj!=null) + { + console.log("存在数据") + dialog.setLoadContent(dataObj) + console.log("#游戏进度_>_"+t_data) + console.warn("#返回的加载后的数据"); + console.log(dataObj); + } + else + { + console.log("#错误,无法获得返回的加载数据") + } + }) }) diff --git a/module/PlotLoader.js b/module/PlotLoader.js index 076cc73..d8501f2 100644 --- a/module/PlotLoader.js +++ b/module/PlotLoader.js @@ -1,4 +1,5 @@ //整合一下 这个将会是新的剧情加载器 +// NOTE: 这里细节需要修改一下 如果当前章节不需要对应的脚本,则不去获取脚本 function IPlotLoader() { // NOTE: 剧情加载器和脚本加载器应该由Dialog的clicks 驱动,只要返回数据到Dialog //默认章节位置 默认句子位置 增加I防止混淆变量名称 @@ -9,8 +10,8 @@ function IPlotLoader() // NOTE: 初始化的加载方法,用于开启新的游戏,从头开始读文件 this.load=function(str_url,func_url) { - //把剧情分词和函数分词存储一个数组 此时为二维数组,一次性return - var final_obj={"plot_array":[],"func_array":[]}//剧情数组元素在前,函数数组元素在后 + //把剧情分词和函数分词存储为Json对象 + var final_obj={"plot_array":[],"func_array":[],"has_func":true}//剧情数组元素在前,函数数组元素在后 //改用ajax同步方法 //async:false为同步 获取文本 $.ajax({url:str_url,async:false,success:function(result) { @@ -20,6 +21,11 @@ function IPlotLoader() $.ajax({url:func_url,async:false,success:function(result) { final_obj.func_array=result.split("\n") + final_obj.has_func=true + },error:function(xhr,status,error) + { + alert("此章节没有自定义js,不执行,执行has_func=false") + final_obj.has_func=false }}) //最后返回数据数组 return final_obj diff --git "a/module/PlotLoader.js.\345\244\207\344\273\275" "b/module/PlotLoader.js.\345\244\207\344\273\275" new file mode 100644 index 0000000..076cc73 --- /dev/null +++ "b/module/PlotLoader.js.\345\244\207\344\273\275" @@ -0,0 +1,56 @@ +//整合一下 这个将会是新的剧情加载器 +function IPlotLoader() +{ // NOTE: 剧情加载器和脚本加载器应该由Dialog的clicks 驱动,只要返回数据到Dialog + //默认章节位置 默认句子位置 增加I防止混淆变量名称 + this.IchapterIndex=0 + this.IlineIndex=0 + var chapterPath="../chapter/" + var scriptPath="../chapterScript/" + // NOTE: 初始化的加载方法,用于开启新的游戏,从头开始读文件 + this.load=function(str_url,func_url) + { + //把剧情分词和函数分词存储一个数组 此时为二维数组,一次性return + var final_obj={"plot_array":[],"func_array":[]}//剧情数组元素在前,函数数组元素在后 + //改用ajax同步方法 //async:false为同步 获取文本 + $.ajax({url:str_url,async:false,success:function(result) + { + // alert(result) + final_obj.plot_array=result.split("\n") + }}) + $.ajax({url:func_url,async:false,success:function(result) + { + final_obj.func_array=result.split("\n") + }}) + //最后返回数据数组 + return final_obj + } + // NOTE: 读取已经存在的存档 需要一个章节变量 一个index变量 + this.load_from=function(chapterIndex,lineIndex) + {//暂存 + // NOTE: 逻辑是,在游戏的Init.js中(在玩家js之前,初始化的js) + //1.如果获取到游戏数据,然后调用此方法,返回数据对象给Init.js, + //2.Init.js再根据此对象,调用Dialog的setLoadContent方法,设置文本,同时同步更新Dialog内部计数器索引 + //3.Dialog每次点击,就自动是新的数据 + this.IchapterIndex=chapterIndex + this.IlineIndex=lineIndex + // NOTE: 新增两个参数,用于给Dialog设置指定位置的文本 + var final_obj={ + "plot_array":[], + "func_array":[], + "chapterIndex":chapterIndex, + "lineIndex":lineIndex, + } + $.ajax({url:chapterPath+chapterIndex+".txt",async:false,success:function(result) + { + final_obj.plot_array=result.split("\n") + final_obj.chapterIndex=Number(chapterIndex) + final_obj.lineIndex=Number(lineIndex) + }}) + $.ajax({url:scriptPath+"func"+chapterIndex+".js.txt",async:false,success:function(result) + { + final_obj.func_array=result.split("\n") + }}) + return final_obj + } + +} diff --git a/module/core.js b/module/core.js index 05f7900..4cbc7bf 100644 --- a/module/core.js +++ b/module/core.js @@ -111,7 +111,17 @@ this.create_Dialog=function(color) console.log(dataObj.plot_array); var tmp_li=$("
  • "+dataObj.plot_array[0]+"
  • ") $("#HistoryPanel").append(tmp_li) - eval(dataObj.func_array[0]) + if(data_obj.has_func==false) + { + // console.clear() + console.warn("#此章节对应自定义js文件不存在,不执行脚本,测试信息,请忽略") + alert("不存在js文件,跳过运算js代码") + } + if(data_obj.has_func==true) + { + console.warn("#存在js脚本,运算它"); + eval(dataObj.func_array[0]) + } } //加载已经存在的游戏进度时使用的方法 dialog.setLoadContent=function(data_obj)