12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- function setStageSize() {
- if (/iphone/i.test(navigator.userAgent)) {
- window["client"] = "iphone";
- } else {
- window["client"] = "android";
- }
- /*全屏适配*/
- var winHeight;
- var winWidth;
- if (document.documentElement && document.documentElement.clientHeight &&
- document.documentElement.clientWidth) {
- winHeight = document.documentElement.clientHeight;
- winWidth = document.documentElement.clientWidth;
- } else {
- winHeight = window.innerHeight;
- winWidth = window.innerWidth;
- }
- var GameWin;
- if (window["client"] == "iphone") {
- GameWin = {w: 640, h: 1136}; //i6苹果分辨率
- } else {
- GameWin = {w: 320, h: 568};//安卓客户端考虑到性能,将分辨率降为i6分辨率的一半
- }
- var Gper = GameWin.h / GameWin.w;
- var per = winHeight / winWidth;
- if (per < Gper) {
- window["stage_width"] = GameWin.h / per;
- window["stage_height"] = GameWin.h;
- } else if (per >= Gper) {
- window["stage_width"] = GameWin.w;
- window["stage_height"] = GameWin.w * per;
- }
- egret.StageDelegate.getInstance().setDesignSize(window["stage_width"], window["stage_height"]);
- if (window["client"] == "android") {
- window["stage_width"] *= 2;
- window["stage_height"] *= 2;
- }
- }
- egret_h5.startGame = function () {
- var context = egret.MainContext.instance;
- context.touchContext = new egret.HTML5TouchContext();
- context.deviceContext = new egret.HTML5DeviceContext();
- context.netContext = new egret.HTML5NetContext();
- setStageSize();//调用上面写好的方法
- context.stage = new egret.Stage();
- var scaleMode = egret.MainContext.deviceType == egret.MainContext.DEVICE_MOBILE ?
- egret.StageScaleMode.SHOW_ALL : egret.StageScaleMode.NO_SCALE;
- context.stage.scaleMode = egret.StageScaleMode.SHOW_ALL;
- //WebGL is a Egret's beta property. It's off by default.
- //WebGL是egret的Beta特性,默认关闭
- var rendererType = 0;
- if (rendererType == 1) {// egret.WebGLUtils.checkCanUseWebGL()) {
- console.log("Use WebGL mode");
- context.rendererContext = new egret.WebGLRenderer();
- }
- else {
- context.rendererContext = new egret.HTML5CanvasRenderer();
- }
- egret.MainContext.instance.rendererContext.texture_scale_factor = 1;
- context.run();
- var rootClass;
- if(document_class){
- rootClass = egret.getDefinitionByName(document_class);
- }
- if(rootClass) {
- var rootContainer = new rootClass();
- if(rootContainer instanceof egret.DisplayObjectContainer){
- context.stage.addChild(rootContainer);
- }
- else{
- throw new Error("Document Class must be the subclass to egret.DisplayObjectContainer!");
- }
- }
- else{
- throw new Error("Document Class is not found!");
- }
- //处理屏幕大小改变
- //implement for screen size change
- var resizeTimer = null;
- var doResize = function () {
- context.stage.changeSize();
- resizeTimer = null;
- };
- window.onresize = function () {
- if (resizeTimer == null) {
- resizeTimer = setTimeout(doResize, 300);
- }
- };
- };
|