Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Y
yt
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
任建锋
yt
Commits
efa65aba
Commit
efa65aba
authored
Jul 19, 2018
by
任建锋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化scene
parent
7f300826
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
734 additions
and
94 deletions
+734
-94
package_20180719113901.json
.history/package_20180719113901.json
+14
-0
YtSceneManager_20180719113315.ts
.history/src/manager/YtSceneManager_20180719113315.ts
+133
-0
YtSceneManager_20180719113559.ts
.history/src/manager/YtSceneManager_20180719113559.ts
+136
-0
YtSceneManager_20180719113654.ts
.history/src/manager/YtSceneManager_20180719113654.ts
+122
-0
YtSceneManager_20180719113712.ts
.history/src/manager/YtSceneManager_20180719113712.ts
+122
-0
YtSceneManager_20180719113817.ts
.history/src/manager/YtSceneManager_20180719113817.ts
+122
-0
YtSceneManager.js
dist/manager/YtSceneManager.js
+38
-37
YtSceneManager.js.map
dist/manager/YtSceneManager.js.map
+1
-1
package.json
package.json
+1
-1
YtSceneManager.ts
src/manager/YtSceneManager.ts
+42
-54
YtSceneManager.d.ts
types/manager/YtSceneManager.d.ts
+3
-1
No files found.
.history/package_20180719113901.json
0 → 100644
View file @
efa65aba
{
"name"
:
"yt"
,
"version"
:
"1.0.17"
,
"description"
:
"基于Babylonjs的3D框架"
,
"main"
:
"./dist/index.js"
,
"types"
:
"./types/index.d.ts"
,
"scripts"
:
{
},
"author"
:
""
,
"license"
:
"ISC"
,
"dependencies"
:
{
"duiba-tc"
:
"git+ssh://git@gitlab2.dui88.com:clq/tc.git#1.0"
}
}
\ No newline at end of file
.history/src/manager/YtSceneManager_20180719113315.ts
0 → 100644
View file @
efa65aba
export
class
YtSceneManager
{
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
=
document
.
querySelector
(
"#renderCanvas"
);;
public
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
private
static
instance
:
YtSceneManager
;
public
static
get
ins
():
YtSceneManager
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
YtSceneManager
();
}
return
this
.
instance
;
}
constructor
(){
// this.canvas = document.querySelector("#renderCanvas");
// this.engine = new BABYLON.Engine(this.canvas, true);
var
createScene
=
function
(){
{
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
//下面的代码是为了设置微信上面的touch事件兼容
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
}.
bind
(
this
)
this
.
scene
=
createScene
();
this
.
engine
.
runRenderLoop
(
function
()
{
this
.
scene
.
render
();
TWEEN
.
update
();
}.
bind
(
this
));
window
.
addEventListener
(
"resize"
,
function
()
{
this
.
engine
.
resize
();
}.
bind
(
this
));
}
/* public get stage(): any {
return this._stage;
}*/
/* public get scene(): BABYLON.Scene {
return this._scene;
}
public get canvas(): any {
return this._canvas;
}
public get engine(): any {
return this._engine;
} */
public
change
(
display
){
/* console.log(display)
var i;
for(i in display){
console.log(display[i])
}*/
/* for(var l of SceneManager.ins.scene.meshes){
l.dispose()
} */
YtSceneManager
.
ins
.
scene
.
meshes
=
[]
/*var j;
for(j in SceneManager.ins.stage){
console.log(SceneManager.ins.stage[j])
if( SceneManager.ins.stage[j]){
if(SceneManager.ins.stage[j].getChildMeshes){
SceneManager.ins.stage[j].getChildMeshes(false,(child)=>{
child.dispose();
});
}
if( SceneManager.ins.stage[j].dispose){
SceneManager.ins.stage[j].dispose()
}
}
}*/
YtSceneManager
.
ins
.
stage
=
display
;
}
/* public change(module){
// console.log(this._stage._children)
if(this.stage._children){
this.stage._children.forEach(function (child) {
this.stage.removeChild(child)
child.dispose()
}.bind(this))
}
this.stage.addChild(module)
// console.log( this._scene)
}*/
}
\ No newline at end of file
.history/src/manager/YtSceneManager_20180719113559.ts
0 → 100644
View file @
efa65aba
export
class
YtSceneManager
{
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
=
document
.
querySelector
(
"#renderCanvas"
);
public
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
private
static
instance
:
YtSceneManager
;
public
static
get
ins
():
YtSceneManager
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
YtSceneManager
();
}
return
this
.
instance
;
}
constructor
(){
// this.canvas = document.querySelector("#renderCanvas");
// this.engine = new BABYLON.Engine(this.canvas, true);
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
this
.
scene
=
this
.
createScene
();
this
.
engine
.
runRenderLoop
(
function
()
{
this
.
scene
.
render
();
TWEEN
.
update
();
}.
bind
(
this
));
window
.
addEventListener
(
"resize"
,
function
()
{
this
.
engine
.
resize
();
}.
bind
(
this
));
}
public
createScene
(){
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
//下面的代码是为了设置微信上面的touch事件兼容
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
/* public get stage(): any {
return this._stage;
}*/
/* public get scene(): BABYLON.Scene {
return this._scene;
}
public get canvas(): any {
return this._canvas;
}
public get engine(): any {
return this._engine;
} */
public
change
(
display
){
/* console.log(display)
var i;
for(i in display){
console.log(display[i])
}*/
/* for(var l of SceneManager.ins.scene.meshes){
l.dispose()
} */
YtSceneManager
.
ins
.
scene
.
meshes
=
[]
/*var j;
for(j in SceneManager.ins.stage){
console.log(SceneManager.ins.stage[j])
if( SceneManager.ins.stage[j]){
if(SceneManager.ins.stage[j].getChildMeshes){
SceneManager.ins.stage[j].getChildMeshes(false,(child)=>{
child.dispose();
});
}
if( SceneManager.ins.stage[j].dispose){
SceneManager.ins.stage[j].dispose()
}
}
}*/
YtSceneManager
.
ins
.
stage
=
display
;
}
/* public change(module){
// console.log(this._stage._children)
if(this.stage._children){
this.stage._children.forEach(function (child) {
this.stage.removeChild(child)
child.dispose()
}.bind(this))
}
this.stage.addChild(module)
// console.log( this._scene)
}*/
}
\ No newline at end of file
.history/src/manager/YtSceneManager_20180719113654.ts
0 → 100644
View file @
efa65aba
export
class
YtSceneManager
{
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
=
document
.
querySelector
(
"#renderCanvas"
);
public
engine
;
private
static
instance
:
YtSceneManager
;
public
static
get
ins
():
YtSceneManager
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
YtSceneManager
();
}
return
this
.
instance
;
}
constructor
(){
// this.canvas = document.querySelector("#renderCanvas");
// this.engine = new BABYLON.Engine(this.canvas, true);
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
this
.
scene
=
this
.
createScene
();
this
.
engine
.
runRenderLoop
(()
=>
{
this
.
scene
.
render
();
TWEEN
.
update
();
});
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
engine
.
resize
();
});
}
public
createScene
(){
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
/* public get stage(): any {
return this._stage;
}*/
/* public get scene(): BABYLON.Scene {
return this._scene;
}
public get canvas(): any {
return this._canvas;
}
public get engine(): any {
return this._engine;
} */
public
change
(
display
){
/* console.log(display)
var i;
for(i in display){
console.log(display[i])
}*/
/* for(var l of SceneManager.ins.scene.meshes){
l.dispose()
} */
YtSceneManager
.
ins
.
scene
.
meshes
=
[]
/*var j;
for(j in SceneManager.ins.stage){
console.log(SceneManager.ins.stage[j])
if( SceneManager.ins.stage[j]){
if(SceneManager.ins.stage[j].getChildMeshes){
SceneManager.ins.stage[j].getChildMeshes(false,(child)=>{
child.dispose();
});
}
if( SceneManager.ins.stage[j].dispose){
SceneManager.ins.stage[j].dispose()
}
}
}*/
YtSceneManager
.
ins
.
stage
=
display
;
}
/* public change(module){
// console.log(this._stage._children)
if(this.stage._children){
this.stage._children.forEach(function (child) {
this.stage.removeChild(child)
child.dispose()
}.bind(this))
}
this.stage.addChild(module)
// console.log( this._scene)
}*/
}
\ No newline at end of file
.history/src/manager/YtSceneManager_20180719113712.ts
0 → 100644
View file @
efa65aba
export
class
YtSceneManager
{
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
:
any
=
document
.
querySelector
(
"#renderCanvas"
);
public
engine
;
private
static
instance
:
YtSceneManager
;
public
static
get
ins
():
YtSceneManager
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
YtSceneManager
();
}
return
this
.
instance
;
}
constructor
(){
// this.canvas = document.querySelector("#renderCanvas");
// this.engine = new BABYLON.Engine(this.canvas, true);
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
this
.
scene
=
this
.
createScene
();
this
.
engine
.
runRenderLoop
(()
=>
{
this
.
scene
.
render
();
TWEEN
.
update
();
});
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
engine
.
resize
();
});
}
public
createScene
(){
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
/* public get stage(): any {
return this._stage;
}*/
/* public get scene(): BABYLON.Scene {
return this._scene;
}
public get canvas(): any {
return this._canvas;
}
public get engine(): any {
return this._engine;
} */
public
change
(
display
){
/* console.log(display)
var i;
for(i in display){
console.log(display[i])
}*/
/* for(var l of SceneManager.ins.scene.meshes){
l.dispose()
} */
YtSceneManager
.
ins
.
scene
.
meshes
=
[]
/*var j;
for(j in SceneManager.ins.stage){
console.log(SceneManager.ins.stage[j])
if( SceneManager.ins.stage[j]){
if(SceneManager.ins.stage[j].getChildMeshes){
SceneManager.ins.stage[j].getChildMeshes(false,(child)=>{
child.dispose();
});
}
if( SceneManager.ins.stage[j].dispose){
SceneManager.ins.stage[j].dispose()
}
}
}*/
YtSceneManager
.
ins
.
stage
=
display
;
}
/* public change(module){
// console.log(this._stage._children)
if(this.stage._children){
this.stage._children.forEach(function (child) {
this.stage.removeChild(child)
child.dispose()
}.bind(this))
}
this.stage.addChild(module)
// console.log( this._scene)
}*/
}
\ No newline at end of file
.history/src/manager/YtSceneManager_20180719113817.ts
0 → 100644
View file @
efa65aba
export
class
YtSceneManager
{
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
:
any
=
document
.
querySelector
(
"#renderCanvas"
);
public
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});;
private
static
instance
:
YtSceneManager
;
public
static
get
ins
():
YtSceneManager
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
YtSceneManager
();
}
return
this
.
instance
;
}
constructor
(){
this
.
init
()
}
public
init
(){
this
.
scene
=
this
.
createScene
();
this
.
engine
.
runRenderLoop
(()
=>
{
this
.
scene
.
render
();
TWEEN
.
update
();
});
window
.
addEventListener
(
"resize"
,
()
=>
{
this
.
engine
.
resize
();
});
}
public
createScene
(){
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
/* public get stage(): any {
return this._stage;
}*/
/* public get scene(): BABYLON.Scene {
return this._scene;
}
public get canvas(): any {
return this._canvas;
}
public get engine(): any {
return this._engine;
} */
public
change
(
display
){
/* console.log(display)
var i;
for(i in display){
console.log(display[i])
}*/
/* for(var l of SceneManager.ins.scene.meshes){
l.dispose()
} */
YtSceneManager
.
ins
.
scene
.
meshes
=
[]
/*var j;
for(j in SceneManager.ins.stage){
console.log(SceneManager.ins.stage[j])
if( SceneManager.ins.stage[j]){
if(SceneManager.ins.stage[j].getChildMeshes){
SceneManager.ins.stage[j].getChildMeshes(false,(child)=>{
child.dispose();
});
}
if( SceneManager.ins.stage[j].dispose){
SceneManager.ins.stage[j].dispose()
}
}
}*/
YtSceneManager
.
ins
.
stage
=
display
;
}
/* public change(module){
// console.log(this._stage._children)
if(this.stage._children){
this.stage._children.forEach(function (child) {
this.stage.removeChild(child)
child.dispose()
}.bind(this))
}
this.stage.addChild(module)
// console.log( this._scene)
}*/
}
\ No newline at end of file
dist/manager/YtSceneManager.js
View file @
efa65aba
...
@@ -3,48 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
...
@@ -3,48 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
var
YtSceneManager
=
/** @class */
(
function
()
{
var
YtSceneManager
=
/** @class */
(
function
()
{
function
YtSceneManager
()
{
function
YtSceneManager
()
{
this
.
canvas
=
document
.
querySelector
(
"#renderCanvas"
);
this
.
canvas
=
document
.
querySelector
(
"#renderCanvas"
);
// this.engine = new BABYLON.Engine(this.canvas, true);
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
lockstepMaxSteps
:
2
});
});
var
createScene
=
function
()
{
this
.
init
();
{
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
//下面的代码是为了设置微信上面的touch事件兼容
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
);
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
);
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
);
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
}.
bind
(
this
);
this
.
scene
=
createScene
();
this
.
engine
.
runRenderLoop
(
function
()
{
this
.
scene
.
render
();
TWEEN
.
update
();
}.
bind
(
this
));
window
.
addEventListener
(
"resize"
,
function
()
{
this
.
engine
.
resize
();
}.
bind
(
this
));
}
}
;
Object
.
defineProperty
(
YtSceneManager
,
"ins"
,
{
Object
.
defineProperty
(
YtSceneManager
,
"ins"
,
{
get
:
function
()
{
get
:
function
()
{
if
(
!
this
.
instance
)
{
if
(
!
this
.
instance
)
{
...
@@ -55,6 +20,42 @@ var YtSceneManager = /** @class */ (function () {
...
@@ -55,6 +20,42 @@ var YtSceneManager = /** @class */ (function () {
enumerable
:
true
,
enumerable
:
true
,
configurable
:
true
configurable
:
true
});
});
YtSceneManager
.
prototype
.
init
=
function
()
{
var
_this
=
this
;
this
.
scene
=
this
.
createScene
();
this
.
engine
.
runRenderLoop
(
function
()
{
_this
.
scene
.
render
();
TWEEN
.
update
();
});
window
.
addEventListener
(
"resize"
,
function
()
{
_this
.
engine
.
resize
();
});
};
YtSceneManager
.
prototype
.
createScene
=
function
()
{
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
);
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
);
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
);
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
};
/* public get stage(): any {
/* public get stage(): any {
return this._stage;
return this._stage;
}*/
}*/
...
...
dist/manager/YtSceneManager.js.map
View file @
efa65aba
{"version":3,"file":"YtSceneManager.js","sourceRoot":"","sources":["../../src/manager/YtSceneManager.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"YtSceneManager.js","sourceRoot":"","sources":["../../src/manager/YtSceneManager.ts"],"names":[],"mappings":";;AACA;IAmBI;QAfO,WAAM,GAAK,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,WAAM,GAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAChD,qBAAqB,EAAE,IAAI;YAC3B,gBAAgB,EAAE,CAAC;SACtB,CAAC,CAAC;QAYC,IAAI,CAAC,IAAI,EAAE,CAAA;IACf,CAAC;IAbE,CAAC;IAIJ,sBAAkB,qBAAG;aAArB;YACI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAMM,6BAAI,GAAX;QAAA,iBASC;QARG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACtB,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC9B,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,oCAAW,GAAlB;QACI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,EACpB,CAAC,GAAG,KAAK,CAAC,cAAc,EACxB,CAAC,GAAG,KAAK,CAAC,cAAc,EACxB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,YAAY,GAAG,UAAS,CAAC;gBAC3B,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;;gBAED,KAAK,CAAC,cAAc,GAAG,UAAS,CAAC;oBAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClC,CAAC;;gBAED,KAAK,CAAC,cAAc,GAAG,UAAS,CAAC;oBAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClC,CAAC;;gBAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,0BAA0B;QAC1B,IAAI,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACjB,CAAC;IAEF;;QAEI;IAEL;;;;;;;;;;UAUM;IAEG,+BAAM,GAAb,UAAc,OAAO;QAClB;;;;YAII;QAEJ;;aAEK;QAEJ,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAC,EAAE,CAAA;QAElC;;;;;;;;;;;;;WAaG;QACH,cAAc,CAAC,GAAG,CAAC,KAAK,GAAC,OAAO,CAAC;IACrC,CAAC;IAaL,qBAAC;AAAD,CAAC,AAxHD,IAwHC;AAxHY,wCAAc"}
\ No newline at end of file
\ No newline at end of file
package.json
View file @
efa65aba
{
{
"name"
:
"yt"
,
"name"
:
"yt"
,
"version"
:
"1.0.1
6
"
,
"version"
:
"1.0.1
7
"
,
"description"
:
"基于Babylonjs的3D框架"
,
"description"
:
"基于Babylonjs的3D框架"
,
"main"
:
"./dist/index.js"
,
"main"
:
"./dist/index.js"
,
"types"
:
"./types/index.d.ts"
,
"types"
:
"./types/index.d.ts"
,
...
...
src/manager/YtSceneManager.ts
View file @
efa65aba
...
@@ -3,8 +3,11 @@ export class YtSceneManager{
...
@@ -3,8 +3,11 @@ export class YtSceneManager{
public
stage
;
public
stage
;
public
scene
:
BABYLON
.
Scene
;
public
scene
:
BABYLON
.
Scene
;
public
canvas
;
public
canvas
:
any
=
document
.
querySelector
(
"#renderCanvas"
);
public
engine
;
public
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});;
private
static
instance
:
YtSceneManager
;
private
static
instance
:
YtSceneManager
;
...
@@ -16,62 +19,47 @@ export class YtSceneManager{
...
@@ -16,62 +19,47 @@ export class YtSceneManager{
}
}
constructor
(){
constructor
(){
this
.
init
()
}
this
.
canvas
=
document
.
querySelector
(
"#renderCanvas"
);
public
init
(){
// this.engine = new BABYLON.Engine(this.canvas, true);
this
.
scene
=
this
.
createScene
();
this
.
engine
=
new
BABYLON
.
Engine
(
this
.
canvas
,
true
,
{
this
.
engine
.
runRenderLoop
(()
=>
{
deterministicLockstep
:
true
,
lockstepMaxSteps
:
2
});
var
createScene
=
function
(){
{
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
//下面的代码是为了设置微信上面的touch事件兼容
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
}.
bind
(
this
)
this
.
scene
=
createScene
();
this
.
engine
.
runRenderLoop
(
function
()
{
this
.
scene
.
render
();
this
.
scene
.
render
();
TWEEN
.
update
();
TWEEN
.
update
();
}.
bind
(
this
));
});
window
.
addEventListener
(
"resize"
,
()
=>
{
window
.
addEventListener
(
"resize"
,
function
()
{
this
.
engine
.
resize
();
this
.
engine
.
resize
();
}.
bind
(
this
));
});
}
public
createScene
(){
var
scene
=
new
BABYLON
.
Scene
(
this
.
engine
);
var
n
=
scene
.
_onPointerUp
,
o
=
scene
.
_onPointerDown
,
r
=
scene
.
_onPointerMove
,
a
=
BABYLON
.
Tools
.
GetPointerPrefix
();
this
.
canvas
.
removeEventListener
(
a
+
"move"
,
r
),
this
.
canvas
.
removeEventListener
(
a
+
"down"
,
o
),
window
.
removeEventListener
(
a
+
"up"
,
n
),
scene
.
_onPointerUp
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
n
(
e
)
}
,
scene
.
_onPointerDown
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
o
(
e
)
}
,
scene
.
_onPointerMove
=
function
(
e
)
{
void
0
!==
e
.
pointerId
&&
r
(
e
)
}
,
this
.
canvas
.
addEventListener
(
a
+
"move"
,
scene
.
_onPointerMove
,
!
1
),
this
.
canvas
.
addEventListener
(
a
+
"down"
,
scene
.
_onPointerDown
,
!
1
),
window
.
addEventListener
(
a
+
"up"
,
scene
.
_onPointerUp
,
!
1
);
//下面的代码是为了设置微信上面的touch事件兼容
var
camera
=
new
BABYLON
.
FreeCamera
(
"baseCamera"
,
new
BABYLON
.
Vector3
(
0
,
0
,
0
),
scene
);
return
scene
;
}
}
/* public get stage(): any {
/* public get stage(): any {
...
...
types/manager/YtSceneManager.d.ts
View file @
efa65aba
...
@@ -2,9 +2,11 @@ export declare class YtSceneManager {
...
@@ -2,9 +2,11 @@ export declare class YtSceneManager {
stage
:
any
;
stage
:
any
;
scene
:
BABYLON
.
Scene
;
scene
:
BABYLON
.
Scene
;
canvas
:
any
;
canvas
:
any
;
engine
:
any
;
engine
:
BABYLON
.
Engine
;
private
static
instance
;
private
static
instance
;
static
readonly
ins
:
YtSceneManager
;
static
readonly
ins
:
YtSceneManager
;
constructor
();
constructor
();
init
():
void
;
createScene
():
BABYLON
.
Scene
;
change
(
display
:
any
):
void
;
change
(
display
:
any
):
void
;
}
}
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