forked from lightszero/EgretUnity
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSample_CreateSky.ts
More file actions
53 lines (38 loc) · 2.43 KB
/
Copy pathSample_CreateSky.ts
File metadata and controls
53 lines (38 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class Sample_CreateSky
{
protected _view3D: egret3d.View3D = null;
protected _viewPort: egret3d.Rectangle = null;
public constructor(width: number = 800,height: number = 600) {
this._viewPort = new egret3d.Rectangle(0,0,width,height);
egret3d.Egret3DDrive.requstContext3D(DeviceUtil.getGPUMode,this._viewPort,() => this.onInit3D());
}
protected onInit3D(): void {
//创建View3D对象;
this._view3D = new egret3d.View3D(this._viewPort);
requestAnimationFrame(() => this.onUpdate());
egret3d.AssetsManager.getInstance().setRootURL("resource/");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_f.jpg");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_b.jpg");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_l.jpg");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_r.jpg");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_u.jpg");
egret3d.AssetsManager.getInstance().addLoadTexture("SkyBox/skybox_clear_d.jpg");
egret3d.AssetsManager.getInstance().addEventListener(egret3d.Event3D.EVENT_LOAD_COMPLETE,(e: egret3d.Event3D) => this.initScene(e));
egret3d.AssetsManager.getInstance().startLoad();
}
private initScene(e: egret3d.Event3D) {
var sky_f: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_f.jpg");
var sky_b: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_b.jpg");
var sky_l: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_l.jpg");
var sky_r: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_r.jpg");
var sky_u: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_u.jpg");
var sky_d: egret3d.TextureBase = egret3d.AssetsManager.getInstance().findTexture("SkyBox/skybox_clear_d.jpg");
var skyTexture: egret3d.SkyTexture = new egret3d.SkyTexture(sky_b,sky_f,sky_l,sky_r,sky_u,sky_d);
var sky: egret3d.Sky = new egret3d.Sky(skyTexture);
this._view3D.sky = sky;
}
protected onUpdate(): void {
this._view3D.update(new Date().getTime(),0.1);
requestAnimationFrame(() => this.onUpdate());
}
}