Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zeroing-engine
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
劳工
zeroing-engine
Commits
78a9a144
Commit
78a9a144
authored
May 08, 2020
by
rockyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复
parent
6fd2ea06
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
115 additions
and
55 deletions
+115
-55
engine.js
debug/engine.js
+54
-35
engine.js.map
debug/engine.js.map
+1
-1
Container.ts
src/2d/display/Container.ts
+8
-4
Stage.ts
src/2d/display/Stage.ts
+10
-5
EditorStage.ts
src/zeroing/game-warpper/EditorStage.ts
+38
-9
launcher.ts
src/zeroing/launcher.ts
+4
-1
No files found.
debug/engine.js
View file @
78a9a144
...
...
@@ -3260,8 +3260,13 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
return
this
.
getChildByPath
(
pathArr
,
'getChildByName'
);
};
Container
.
prototype
.
getChildByIndexPath
=
function
(
path
)
{
var
pathArr
=
path
.
split
(
'/'
).
map
(
function
(
seg
)
{
return
parseInt
(
seg
);
});
return
this
.
getChildByPath
(
pathArr
,
'getChildAt'
);
if
(
path
)
{
var
pathArr
=
path
.
split
(
'/'
).
map
(
function
(
seg
)
{
return
parseInt
(
seg
);
});
return
this
.
getChildByPath
(
pathArr
,
'getChildAt'
);
}
else
{
return
this
;
}
};
Container
.
prototype
.
findChildByUUID
=
function
(
uuid
)
{
if
(
this
[
'uuid'
]
===
uuid
)
{
...
...
@@ -7897,7 +7902,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
var
skipTagNames
=
[
'INPUT'
];
var
Stage
=
(
function
(
_super
)
{
tslib_1
.
__extends
(
Stage
,
_super
);
function
Stage
(
rootDivId
,
desW
,
desH
,
frameRate
,
scaleMode
,
renderType
,
transparent
,
bgColor
)
{
function
Stage
(
rootDivId
,
desW
,
desH
,
frameRate
,
scaleMode
,
renderType
,
transparent
,
bgColor
,
autoResize
)
{
if
(
rootDivId
===
void
0
)
{
rootDivId
=
"cusEngine"
;
}
if
(
desW
===
void
0
)
{
desW
=
750
;
}
if
(
desH
===
void
0
)
{
desH
=
1206
;
}
...
...
@@ -7906,6 +7911,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
if
(
renderType
===
void
0
)
{
renderType
=
exports
.
RENDERER_TYPE
.
WEBGL
;
}
if
(
transparent
===
void
0
)
{
transparent
=
true
;
}
if
(
bgColor
===
void
0
)
{
bgColor
=
0x000000
;
}
if
(
autoResize
===
void
0
)
{
autoResize
=
false
;
}
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
iosTouchendPreventDefault
=
true
;
_this
.
isPreventDefaultEvent
=
true
;
...
...
@@ -7950,6 +7956,7 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
s
.
rootDiv
=
div
;
s
.
setFrameRate
(
frameRate
);
s
.
_scaleMode
=
scaleMode
;
s
.
autoResize
=
autoResize
;
var
canvas
=
document
.
createElement
(
"canvas"
);
s
.
rootDiv
.
appendChild
(
canvas
);
canvas
.
id
=
"cusCanvas"
;
...
...
@@ -8099,29 +8106,10 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
return
60
/
(
this
.
_flush
+
1
);
};
Stage
.
prototype
.
getRootDivWH
=
function
(
div
)
{
var
sw
=
div
.
style
.
width
;
var
sh
=
div
.
style
.
height
;
var
iw
=
document
.
body
.
clientWidth
;
var
ih
=
document
.
body
.
clientHeight
;
var
vW
=
parseInt
(
sw
);
var
vH
=
parseInt
(
sh
);
if
(
vW
.
toString
()
==
"NaN"
)
{
vW
=
iw
;
}
else
{
if
(
sw
.
indexOf
(
"%"
)
>
0
)
{
vW
*=
iw
/
100
;
}
}
if
(
vH
.
toString
()
==
"NaN"
)
{
vH
=
ih
;
}
else
{
if
(
sh
.
indexOf
(
"%"
)
>
0
)
{
vH
*=
ih
/
100
;
}
}
return
{
w
:
vW
,
h
:
vH
};
var
divBound
=
div
.
getBoundingClientRect
();
var
w
=
divBound
.
width
;
var
h
=
divBound
.
height
;
return
{
w
:
w
,
h
:
h
};
};
Stage
.
prototype
.
kill
=
function
()
{
Stage
.
removeUpdateObj
(
this
);
...
...
@@ -20763,12 +20751,13 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
}
//# sourceMappingURL=auto-layout.js.map
var
propPrefixFilter
=
[
'_'
,
'__'
,
'$'
];
var
propTypeFilter
=
[
'object'
,
'function'
];
var
EditorStage
=
(
function
(
_super
)
{
tslib_1
.
__extends
(
EditorStage
,
_super
);
function
EditorStage
(
stage
)
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
name
=
'editor-stage'
;
_this
.
addEventListener
(
'modify-props'
,
_this
.
onModifyProps
,
_this
);
return
_this
;
}
EditorStage
.
prototype
.
launch
=
function
(
onStart
)
{
...
...
@@ -20781,18 +20770,48 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
var
view
=
this
.
_view
=
instantiate
(
viewConfig
);
this
.
addChild
(
view
);
};
EditorStage
.
prototype
.
getNodeProps
=
function
(
nodePath
)
{
return
this
.
_view
.
getChildByIndexPath
(
nodePath
);
};
EditorStage
.
prototype
.
onModifyProps
=
function
(
e
)
{
console
.
log
(
e
.
data
);
var
_a
=
e
.
data
,
nodePath
=
_a
.
nodePath
,
props
=
_a
.
props
;
EditorStage
.
prototype
.
getNode
=
function
(
nodePath
,
origin
)
{
if
(
origin
===
void
0
)
{
origin
=
false
;
}
var
node
=
this
.
_view
.
getChildByIndexPath
(
nodePath
);
if
(
node
)
{
if
(
origin
)
{
return
node
;
}
else
{
var
node2
=
{};
for
(
var
key
in
node
)
{
var
pass
=
false
;
for
(
var
_i
=
0
,
propPrefixFilter_1
=
propPrefixFilter
;
_i
<
propPrefixFilter_1
.
length
;
_i
++
)
{
var
prefix
=
propPrefixFilter_1
[
_i
];
if
(
key
.
indexOf
(
prefix
)
>=
0
)
{
pass
=
true
;
break
;
}
}
if
(
pass
)
{
continue
;
}
var
v
=
node
[
key
];
if
(
propTypeFilter
.
indexOf
(
typeof
v
)
<
0
)
{
node2
[
key
]
=
v
;
}
}
return
node2
;
}
}
};
EditorStage
.
prototype
.
resizeStage
=
function
()
{
this
.
stage
.
resize
();
};
EditorStage
.
prototype
.
modifyProps
=
function
(
nodePath
,
props
)
{
var
node
=
this
.
getNode
(
nodePath
,
true
);
if
(
node
)
{
injectProperties
(
node
,
props
);
return
true
;
}
else
{
console
.
warn
(
'node not found:'
,
nodePath
);
return
false
;
}
};
return
EditorStage
;
...
...
@@ -20834,9 +20853,9 @@ var tslib = {__extends: __extends,__assign: __assign,__rest: __rest,__decorate:
case
1
:
_a
.
sent
();
return
[
4
,
new
Promise
(
function
(
resolve
)
{
var
_a
=
config
.
options
,
containerId
=
_a
.
containerId
,
designWidth
=
_a
.
designWidth
,
designHeight
=
_a
.
designHeight
,
frameRate
=
_a
.
frameRate
,
scaleMode
=
_a
.
scaleMode
,
rendererType
=
_a
.
rendererType
,
_editorMode
=
_a
.
editorMode
;
var
_a
=
config
.
options
,
containerId
=
_a
.
containerId
,
designWidth
=
_a
.
designWidth
,
designHeight
=
_a
.
designHeight
,
frameRate
=
_a
.
frameRate
,
scaleMode
=
_a
.
scaleMode
,
rendererType
=
_a
.
rendererType
,
bgColor
=
_a
.
bgColor
,
autoResize
=
_a
.
autoResize
,
_editorMode
=
_a
.
editorMode
;
exports
.
editorMode
=
_editorMode
;
var
stage
=
window
[
'stage'
]
=
new
Stage
(
containerId
||
"game-container"
,
designWidth
||
750
,
designHeight
||
1334
,
frameRate
||
60
,
scaleMode
||
StageScaleMode
.
FIXED_WIDTH
,
rendererType
||
exports
.
RENDERER_TYPE
.
WEBGL
);
var
stage
=
window
[
'stage'
]
=
new
Stage
(
containerId
||
"game-container"
,
designWidth
||
750
,
designHeight
||
1334
,
frameRate
||
60
,
scaleMode
||
StageScaleMode
.
FIXED_WIDTH
,
rendererType
||
exports
.
RENDERER_TYPE
.
WEBGL
,
true
,
bgColor
,
autoResize
);
initAutoLayout
(
stage
);
Stage
.
flushAll
();
stage
.
addEventListener
(
Event
.
ON_INIT_STAGE
,
function
()
{
...
...
debug/engine.js.map
View file @
78a9a144
This diff is collapsed.
Click to expand it.
src/2d/display/Container.ts
View file @
78a9a144
...
...
@@ -270,8 +270,12 @@ export default class Container extends DisplayObject {
* @param path
*/
getChildByIndexPath
(
path
:
string
):
DisplayObject
{
const
pathArr
=
path
.
split
(
'/'
).
map
(
seg
=>
parseInt
(
seg
));
return
this
.
getChildByPath
(
pathArr
,
'getChildAt'
);
if
(
path
)
{
const
pathArr
=
path
.
split
(
'/'
).
map
(
seg
=>
parseInt
(
seg
));
return
this
.
getChildByPath
(
pathArr
,
'getChildAt'
);
}
else
{
return
this
;
}
}
/**
...
...
@@ -488,7 +492,7 @@ export default class Container extends DisplayObject {
this._bounds.height = this._height;
}*/
if
(
widthSetted
||
heightSetted
)
{
if
(
widthSetted
||
heightSetted
)
{
const
rect
=
this
.
_localBoundsSelf
;
var
matrix
=
this
.
transform
.
worldMatrix
;
matrix
.
transformPoint
(
rect
.
x
,
rect
.
y
,
DisplayObject
.
_p1
);
...
...
@@ -507,7 +511,7 @@ export default class Container extends DisplayObject {
//如果不可见
if
(
!
this
.
visible
)
return
null
//如果禁止子级的鼠标事件
if
(
isMouseEvent
&&
!
this
.
mouseChildren
){
if
(
isMouseEvent
&&
!
this
.
mouseChildren
)
{
return
this
.
hitTestSelf
(
globalPoint
);
}
var
children
=
this
.
children
;
...
...
src/2d/display/Stage.ts
View file @
78a9a144
...
...
@@ -349,6 +349,7 @@ export class Stage extends Container {
* @param {number} renderType 渲染类型2canvas
* @param {boolean} transparent 透明否,默认透明true,此时bgColor无效
* @param {number} bgColor 背景颜色十六进制
* @param autoResize 是否自动重置尺寸
* @public
* @since 1.0.0
*/
...
...
@@ -360,7 +361,8 @@ export class Stage extends Container {
scaleMode
:
string
=
StageScaleMode
.
FIXED_WIDTH
,
renderType
:
RENDERER_TYPE
=
RENDERER_TYPE
.
WEBGL
,
transparent
:
boolean
=
true
,
bgColor
:
number
=
0x000000
bgColor
:
number
=
0x000000
,
autoResize
:
boolean
=
false
,
)
{
super
();
let
s
:
Stage
=
this
;
...
...
@@ -376,6 +378,7 @@ export class Stage extends Container {
s
.
rootDiv
=
div
;
s
.
setFrameRate
(
frameRate
);
s
.
_scaleMode
=
scaleMode
;
s
.
autoResize
=
autoResize
;
//s.anchorX = desW >> 1;
//s.anchorY = desH >> 1;
...
...
@@ -556,9 +559,7 @@ export class Stage extends Container {
* @return {{w: number, h: number}}
*/
public
getRootDivWH
(
div
:
HTMLDivElement
)
{
let
sw
=
div
.
style
.
width
;
let
sh
=
div
.
style
.
height
;
let
iw
=
document
.
body
.
clientWidth
;
/*let iw = document.body.clientWidth;
// let ih = document.body.clientHeight-40;
let ih = document.body.clientHeight;
let vW = parseInt(sw);
...
...
@@ -577,7 +578,11 @@ export class Stage extends Container {
vH *= ih / 100;
}
}
return
{
w
:
vW
,
h
:
vH
};
return {w: vW, h: vH};*/
let
divBound
=
div
.
getBoundingClientRect
();
let
w
=
divBound
.
width
;
let
h
=
divBound
.
height
;
return
{
w
,
h
};
}
/**
...
...
src/zeroing/game-warpper/EditorStage.ts
View file @
78a9a144
...
...
@@ -5,7 +5,10 @@
import
{
Stage
}
from
"../../2d/display/index"
;
import
{
Node
}
from
"./nodes/Node"
;
import
{
instantiate
}
from
"./view-interpreter"
;
import
{
injectProperties
}
from
"../utils/utils"
;
import
{
injectProperties
,
objClone
}
from
"../utils/utils"
;
const
propPrefixFilter
=
[
'_'
,
'__'
,
'$'
];
const
propTypeFilter
=
[
'object'
,
'function'
];
/**
* 编辑器舞台
...
...
@@ -17,8 +20,6 @@ export class EditorStage extends Node {
super
();
this
.
name
=
'editor-stage'
;
this
.
addEventListener
(
'modify-props'
,
this
.
onModifyProps
,
this
);
}
launch
(
onStart
)
{
...
...
@@ -33,19 +34,47 @@ export class EditorStage extends Node {
this
.
addChild
(
view
);
}
getNodeProps
(
nodePath
)
{
return
this
.
_view
.
getChildByIndexPath
(
nodePath
);
getNode
(
nodePath
,
origin
=
false
):
any
{
let
node
=
this
.
_view
.
getChildByIndexPath
(
nodePath
);
if
(
node
)
{
if
(
origin
){
return
node
;
}
else
{
let
node2
=
{};
for
(
let
key
in
node
)
{
let
pass
=
false
;
for
(
let
prefix
of
propPrefixFilter
)
{
if
(
key
.
indexOf
(
prefix
)
>=
0
)
{
pass
=
true
;
break
;
}
}
if
(
pass
)
{
continue
;
}
let
v
=
node
[
key
];
if
(
propTypeFilter
.
indexOf
(
typeof
v
)
<
0
)
{
node2
[
key
]
=
v
;
}
}
return
node2
;
}
}
}
resizeStage
()
{
this
.
stage
.
resize
();
}
private
onModifyProps
(
e
)
{
console
.
log
(
e
.
data
);
const
{
nodePath
,
props
}
=
e
.
data
;
let
node
=
this
.
_view
.
getChildByIndexPath
(
nodePath
);
modifyProps
(
nodePath
,
props
)
{
let
node
=
this
.
getNode
(
nodePath
,
true
);
if
(
node
)
{
injectProperties
(
node
,
props
);
return
true
;
}
else
{
console
.
warn
(
'node not found:'
,
nodePath
);
return
false
;
}
}
}
src/zeroing/launcher.ts
View file @
78a9a144
...
...
@@ -55,7 +55,7 @@ export async function launchWithConfig(config, loadingDelegate?, onStart?) {
setTimeout
(
resolve
,
300
);
});
return
await
new
Promise
(
resolve
=>
{
const
{
containerId
,
designWidth
,
designHeight
,
frameRate
,
scaleMode
,
rendererType
,
editorMode
:
_editorMode
,}
=
config
.
options
;
const
{
containerId
,
designWidth
,
designHeight
,
frameRate
,
scaleMode
,
rendererType
,
bgColor
,
autoResize
,
editorMode
:
_editorMode
,}
=
config
.
options
;
editorMode
=
_editorMode
;
let
stage
=
window
[
'stage'
]
=
new
Stage
(
...
...
@@ -65,6 +65,9 @@ export async function launchWithConfig(config, loadingDelegate?, onStart?) {
frameRate
||
60
,
scaleMode
||
StageScaleMode
.
FIXED_WIDTH
,
rendererType
||
RENDERER_TYPE
.
WEBGL
,
true
,
bgColor
,
autoResize
,
);
initAutoLayout
(
stage
);
Stage
.
flushAll
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment