-
Notifications
You must be signed in to change notification settings - Fork 796
Egret_Upgrade
- index.html 中去掉了 canvas 节点,现在 canvas节点是在 HTML5CanvasRenderer以及WebGLRenderer中生成。
- egret_loader 中去掉了
var canvas = document.getElementById("gameCanvas")
以及canvas相关代码。 - 游戏主 canvas的id被修改为了
egretCanvas
-
执行 egret upgrade 命令(如果已经执行过,请继续完成剩余步骤)。
-
执行 egret upgrade 命令后,launcher 中的 index.html 和 egret_loader.js文件会被自动修改,同时原来的对应文件会被备份为
copy_index.html
和copy_egret_loader.js
,开发者完成升级步骤之后,应手动将这些备份文件删除 -
请检查html部分是否被修改。左边为原图,右边为修改后的图。
在多数情况下,这个过程是自动完成的,开发者只需要确认结果是否正确即可 如果您项目原来在gameDiv中加入了其他的标签,请从副本中取出放到gameDiv标签的外面。
-
舞台被还原为480 * 800,请从副本中取出原来使用的值并修改(如果项目是480 * 800则跳过此步)。
-
适配策略被还原为默认策略,请从副本中取出原来使用的适配策略代码并修改。
如果您项目中原来使用的“new egret.FixedWidth()”、“new egret.NoScale()”等旧适配策略,请按“egret_loader.js”最新的适配策略修改。
- 再次编译一下项目
egret build {your_project} -e
{ your_project } 指的是你的项目名
举例,开发者的项目名为 HelloEgret ,那这里要输入 egret build HelloEgret -e ,而不是 egret build { HelloEgret } -e
- 项目验证没问题后请删除副本文件。
- 执行egret upgrade 命令后,html文件内的gameDiv将会被替换成一个简单的div,原来的html会保存在对应的"copy_name.html"副本中;egret_loader.js将会被替换成最新版本的,原egret_loader.js代码保存在"copy_egret_loader.js"副本中。
下图为生成的各个副本文件
-
如果项目中使用到了canvas.width、canvas.height,请使用 egret.MainContext.instance.stage.stageWidth和 egret.MainContext.instance.stage.stageHeight代替
-
如果项目中是以DOM方式渲染,请使用最新DOM的第三库。并修改成
context.rendererContext = new egret.HTML5DOMRenderer();
不再需要
egret.dom.initStage(context.stage);
-
如果游戏显示底部有部分不显示,请去掉body的overflow的样式。
-
由于 canvas的id进行了修改,如果开发者之前有
document.getElementById("gameCanvas")
的写法,请改为document.getElementById("egretCanvas")
-
如果经过上述步骤,无论如何都无法升级成功,请使用
egret create
创建一个新项目,并将代码和资源复制到新项目中
如果您有任何疑问或建议,欢迎访问 Egret开发者论坛 和 Egret 官方团队讨论