Commit 0cc8f760 authored by wjf's avatar wjf

l

parent 0da8bf37
...@@ -12,6 +12,7 @@ import { WebglRenderer } from "../renderers/WebglRenderer"; ...@@ -12,6 +12,7 @@ import { WebglRenderer } from "../renderers/WebglRenderer";
import { CanvasRenderer } from "../renderers/CanvasRenderer"; import { CanvasRenderer } from "../renderers/CanvasRenderer";
import { SystemRenderer } from "../renderers/SystemRenderer"; import { SystemRenderer } from "../renderers/SystemRenderer";
import { getEnv } from "../utils";
export class Stage extends Container { export class Stage extends Container {
...@@ -161,7 +162,7 @@ export class Stage extends Container { ...@@ -161,7 +162,7 @@ export class Stage extends Container {
s.divHeight = divHeight; s.divHeight = divHeight;
//@ts-ignore淘宝小程序环境下提前记录canvas偏移,到时需要修改id传入,再说把 //@ts-ignore淘宝小程序环境下提前记录canvas偏移,到时需要修改id传入,再说把
if (my) my.createSelectorQuery().select('#canvas').boundingClientRect().exec((r) => { if (getEnv() == "tb") my.createSelectorQuery().select('#canvas').boundingClientRect().exec((r) => {
s._canvasOffsetX = r[0].left; s._canvasOffsetX = r[0].left;
s._canvasOffsetY = r[0].top; s._canvasOffsetY = r[0].top;
}); });
...@@ -289,8 +290,8 @@ export class Stage extends Container { ...@@ -289,8 +290,8 @@ export class Stage extends Container {
* @private * @private
*/ */
onMouseEvent(e: any): void { onMouseEvent(e: any): void {
//@ts-ignore //web环境才有
if (!my) e.preventDefault(); if (getEnv() == "web") e.preventDefault();
let s: Stage = this; let s: Stage = this;
//检查mouse或touch事件是否有,如果有的话,就触发事件函数 //检查mouse或touch事件是否有,如果有的话,就触发事件函数
if (EventDispatcher._totalMEC > 0) { if (EventDispatcher._totalMEC > 0) {
...@@ -316,8 +317,8 @@ export class Stage extends Container { ...@@ -316,8 +317,8 @@ export class Stage extends Container {
// title: '55729:' + points.length // title: '55729:' + points.length
// }); // });
let offSetX = s._canvasOffsetX, offSetY = s._canvasOffsetY; let offSetX = s._canvasOffsetX, offSetY = s._canvasOffsetY;
//@ts-ignore //web环境实时获取
if (!my) { if (getEnv() == "web") {
let doc = document.documentElement; let doc = document.documentElement;
let box = s.canvas.getBoundingClientRect(); let box = s.canvas.getBoundingClientRect();
offSetX = box.left + window.pageXOffset - doc.clientLeft; offSetX = box.left + window.pageXOffset - doc.clientLeft;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import { EventDispatcher } from "../events/EventDispatcher"; import { EventDispatcher } from "../events/EventDispatcher";
import { getCreateImage } from "../utils"; import { getCreateImage, getEnv } from "../utils";
/** /**
* 加载器,不做缓存判断,所有的外部自行缓存,或者判断是否要进加载器 * 加载器,不做缓存判断,所有的外部自行缓存,或者判断是否要进加载器
...@@ -93,7 +93,7 @@ export class Loader extends EventDispatcher { ...@@ -93,7 +93,7 @@ export class Loader extends EventDispatcher {
// callback(false, res) // callback(false, res)
// } // }
// }); // });
if (my) { if (getEnv() == "tb") {
this.tbLoad(callback, url, "utf8") this.tbLoad(callback, url, "utf8")
return return
} }
......
import { SCALE_MODES, TEXT_ALIGN, TEXT_lINETYPE, VERTICAL_ALIGN, osType } from "../const"; import { SCALE_MODES, TEXT_ALIGN, TEXT_lINETYPE, VERTICAL_ALIGN, osType } from "../const";
import Texture from "../texture/Texture"; import Texture from "../texture/Texture";
import { getRGBA, createCanvas } from "../utils"; import { getRGBA, createCanvas, getEnv } from "../utils";
import { Rectangle } from "../math"; import { Rectangle } from "../math";
import Sprite from "../display/Sprite"; import Sprite from "../display/Sprite";
import { BaseTexture } from "../texture"; import { BaseTexture } from "../texture";
...@@ -450,11 +450,8 @@ export class TextField extends Sprite { ...@@ -450,11 +450,8 @@ export class TextField extends Sprite {
* @since 1.0.0 * @since 1.0.0
*/ */
private _getMeasuredWidth(text: string): number { private _getMeasuredWidth(text: string): number {
let ctx = this.context; //如果不是淘宝环境,就用canvas的api measureText
//ctx.save(); if (getEnv() == "web") return this.context.measureText(text).width
// let w = ctx.measureText(text).width;
//ctx.restore();
// return w;
//暂时没修复,用最简单的量尺寸UuUuAaaA //暂时没修复,用最简单的量尺寸UuUuAaaA
//中文 //中文
var patternCh = new RegExp("[\u4E00-\u9FA5]+"); var patternCh = new RegExp("[\u4E00-\u9FA5]+");
......
let env: "tb" | "web" = "web";
//如果是浏览器环境,声明个my为null,为了无声明不报错
if (window) window["my"] = null;
export function getEnv(): "tb" | "web" {
return env
}
/** /**
* 创建一个离屏的canvas * 创建一个离屏的canvas
*/ */
...@@ -19,6 +26,7 @@ export function initedByCanvas(canvas) { ...@@ -19,6 +26,7 @@ export function initedByCanvas(canvas) {
requestAnimationFrame: canvas.requestAnimationFrame.bind(canvas), requestAnimationFrame: canvas.requestAnimationFrame.bind(canvas),
cancelAnimationFrame: canvas.cancelAnimationFrame.bind(canvas), cancelAnimationFrame: canvas.cancelAnimationFrame.bind(canvas),
} }
env = "tb";
} }
export function destroyCanvasContent() { export function destroyCanvasContent() {
if (contentByCanvas) { if (contentByCanvas) {
......
...@@ -38,7 +38,7 @@ export * from "./tween"; ...@@ -38,7 +38,7 @@ export * from "./tween";
export * from "./3d"; export * from "./3d";
//如果是浏览器环境,声明个my为null,为了无声明不报错 //如果是浏览器环境,声明个my为null,为了无声明不报错
if (window) window["my"] = null // if (window) window["my"] = null
export * from "./Stats"; export * from "./Stats";
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment