File tree Expand file tree Collapse file tree 3 files changed +21
-1
lines changed
service/controlService/secretEngine Expand file tree Collapse file tree 3 files changed +21
-1
lines changed Original file line number Diff line number Diff line change 11import { Queue } from "../../../dataStruct/Queue" ;
2+ import { Camera } from "../../../stage/Camera" ;
23import { Stage } from "../../../stage/Stage" ;
34import { ViewFlashEffect } from "../../feedbackService/effectEngine/concrete/ViewFlashEffect" ;
45
@@ -39,6 +40,10 @@ export class SecretEngine {
3940 Stage . drawingMachine . shutDown ( ) ;
4041 return true ;
4142 }
43+ if ( keys . includes ( "1 1 4 5 1 4" ) ) {
44+ Camera . clearMoveCommander ( ) ;
45+ return true ;
46+ }
4247 return false ;
4348 }
4449}
Original file line number Diff line number Diff line change @@ -54,7 +54,7 @@ export namespace Camera {
5454 * 可以看成一个九宫格,主要用于处理 w s a d 按键移动,
5555 * 当同时按下w和s,这个值会是(-1,-1),表示朝着左上移动
5656 */
57- // eslint-disable-next-line prefer-const
57+
5858 export let accelerateCommander : Vector = Vector . getZero ( ) ;
5959
6060 /**
@@ -196,6 +196,14 @@ export namespace Camera {
196196 location = leftTopLocationWorld . add ( rect . size . divide ( 2 ) ) ;
197197 }
198198
199+ /**
200+ * 强制清除移动动力命令
201+ * 防止无限滚屏
202+ */
203+ export function clearMoveCommander ( ) {
204+ accelerateCommander = Vector . getZero ( ) ;
205+ }
206+
199207 /**
200208 * 单纯缩放镜头
201209 * @returns 缩放前后变化的比值
Original file line number Diff line number Diff line change @@ -15,6 +15,8 @@ import { Settings } from "../service/Settings";
1515import { StageMouseInteractionCore } from "../service/controlService/stageMouseInteractionCore/stageMouseInteractionCore" ;
1616import { ControllerDrawing } from "../service/controlService/controller/concrete/ControllerDrawing" ;
1717import { SecretEngine } from "../service/controlService/secretEngine/secretEngine" ;
18+ import { Controller } from "../service/controlService/controller/Controller" ;
19+ import { Camera } from "./Camera" ;
1820/**
1921 * 舞台对象
2022 * 更广义的舞台,
@@ -101,6 +103,11 @@ export namespace Stage {
101103 autoBackupEngine . mainTick ( ) ;
102104
103105 KeyboardOnlyEngine . logicTick ( ) ;
106+
107+ // 防止截屏无限滚屏
108+ if ( Controller . pressingKeySet . size === 0 ) {
109+ Camera . clearMoveCommander ( ) ; // 直接动力切断
110+ }
104111 tickNumber ++ ;
105112 }
106113 let tickNumber = 0 ;
You can’t perform that action at this time.
0 commit comments