|
@@ -8,11 +8,14 @@ import { drawPedestal } from './pedestal';
|
8
|
8
|
import drawBullets from './bullet';
|
9
|
9
|
import { drawCounter } from './counter';
|
10
|
10
|
|
11
|
|
-export default ({ el, center, rotateSpeed = 0.015, speed = -5 }) => {
|
|
11
|
+export default ({ el, center, rotateSpeed = 0.045, speed = -12 }) => {
|
12
|
12
|
|
13
|
13
|
// 修复一个单页面应用, 不能重复加载图片的bug
|
14
|
14
|
Two.Texture.ImageRegistry = new Two.Registry();
|
15
|
15
|
|
|
16
|
+ // 30FPS
|
|
17
|
+ const FRAMERATE = 1000 / 30;
|
|
18
|
+
|
16
|
19
|
// 初始化
|
17
|
20
|
const two = new Two({
|
18
|
21
|
type: Two.Types.svg,
|
|
@@ -49,6 +52,8 @@ export default ({ el, center, rotateSpeed = 0.015, speed = -5 }) => {
|
49
|
52
|
|
50
|
53
|
// 整体绘制结束
|
51
|
54
|
two.update();
|
|
55
|
+ // 页面刷新定时器
|
|
56
|
+ let frameRateInterval = null;
|
52
|
57
|
|
53
|
58
|
// 下面是业务逻辑部分
|
54
|
59
|
|
|
@@ -109,16 +114,28 @@ export default ({ el, center, rotateSpeed = 0.015, speed = -5 }) => {
|
109
|
114
|
status = 1; // 游戏开始
|
110
|
115
|
clip.bulletLoad() // 先上膛一颗子弹
|
111
|
116
|
wheel.rotate();
|
112
|
|
- two.play();
|
|
117
|
+ // two.play();
|
|
118
|
+
|
|
119
|
+ console.log('----------FRAME RATE---------', FRAMERATE)
|
|
120
|
+
|
|
121
|
+ if (frameRateInterval) {
|
|
122
|
+ clearInterval(frameRateInterval)
|
|
123
|
+ } else {
|
|
124
|
+ setInterval(function() {
|
|
125
|
+ two.update();
|
|
126
|
+ }, FRAMERATE);
|
|
127
|
+ }
|
113
|
128
|
},
|
114
|
129
|
pause: () => {
|
115
|
130
|
wheel.stop();
|
116
|
|
- two.pause();
|
|
131
|
+ // two.pause();
|
|
132
|
+ clearInterval(frameRateInterval)
|
117
|
133
|
},
|
118
|
134
|
destroy: () => {
|
119
|
135
|
two.unbind('update');
|
120
|
136
|
two.pause();
|
121
|
137
|
el.removeChild(two.renderer.domElement);
|
|
138
|
+ clearInterval(frameRateInterval);
|
122
|
139
|
}
|
123
|
140
|
}
|
124
|
141
|
}
|