Commit fdc5223f authored by haiyoucuv's avatar haiyoucuv

1

parents 91ab2578 b14a95c8
This diff is collapsed.
This diff is collapsed.
{
<<<<<<< HEAD
"name": "fyge-tbmini",
"version": "1.0.9",
"description": "淘宝小程序canvas渲染引擎",
......@@ -35,4 +36,31 @@
"keywords": [
"淘宝小程序,canvas,webgl"
]
=======
"name": "fyge-tbmini",
"version": "1.1.1",
"description": "淘宝小程序canvas渲染引擎",
"main": "./build/fyge.min.js",
"types": "./build/FYGE.d.ts",
"dependencies": {},
"scripts": {
"declare": "node scripts/declare.js src/index.ts",
"build": "webpack",
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack -w",
"watch": "webpack --watch"
},
"author": "MrKwon",
"license": "ISC",
"devDependencies": {
"ts-loader": "^4.0.0",
"webpack": "^4.1.0",
"webpack-cli": "^3.3.2",
"typescript": "^2.7.2",
"uglifyjs-webpack-plugin": "^2.1.2"
},
"keywords": [
"淘宝小程序,canvas,webgl"
]
>>>>>>> b14a95c820b417eba6decc2ecbcf5732fa698cb4
}
......@@ -395,12 +395,19 @@ export class DisplayObject extends EventDispatcher {
*/
destroy() {
//移除所有监听
<<<<<<< HEAD
=======
// this.removeAllEventListener();
// super.destroy();
>>>>>>> b14a95c820b417eba6decc2ecbcf5732fa698cb4
//如果有父级,从中移除自己
this.removeAllEventListener();
// super.destroy();
if (this.parent) {
this.parent.removeChild(this);
}
//在从父级移除自身后removeAllEventListener
super.destroy();
//矩阵销毁
this.transform.destroy();
//对应属性都置null
......@@ -417,6 +424,8 @@ export class DisplayObject extends EventDispatcher {
this.mouseEnable = false;
//标记为已销毁
this.destroyed = true;
}
get alpha(): number {
......
......@@ -205,11 +205,19 @@ export class EventDispatcher extends HashObject {
if (!event["_pd"]) {
if (listeners[i]) {
let listener = listeners[i];
<<<<<<< HEAD
let type = event.type;
listener.fn.call(listener.context, event)
//必须做单独指向,因为有可能出现上面的fn.里执行的就是removeEventListener,导致listeners[i]不存在
if (listener.once) {
s.removeEventListener(type, listener.fn, listener.context, useCapture);
=======
let type = event.type;//防止call事件里触发其他事件导致event被修改;
listener.fn.call(listener.context, event)
//必须做单独指向,因为有可能出现上面的fn.里执行的就是removeEventListener,导致listeners[i]不存在
if (listener.once) {
s.removeEventListener(type/*event.type*/, listener.fn, listener.context, useCapture);
>>>>>>> b14a95c820b417eba6decc2ecbcf5732fa698cb4
}
// listeners[i](event);
} else {
......
/**
* 创建一个离屏的canvas
*/
export function createCanvas(): HTMLCanvasElement {
//@ts-ignore
return document && document.createElement("canvas") || my._createOffscreenCanvas();
......
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