浏览代码

Basketball game: wait for user input at the game over screen

customisations
alemart 8 个月前
父节点
当前提交
ce10f7e005
共有 2 个文件被更改,包括 13 次插入1 次删除
  1. 12
    0
      demos/basketball/src/entities/ball.js
  2. 1
    1
      demos/basketball/src/entities/gui/gameover-overlay.js

+ 12
- 0
demos/basketball/src/entities/ball.js 查看文件

@@ -69,6 +69,7 @@ export class Ball extends Entity
69 69
         this._mesh = null;
70 70
         this._lastTrigger = '';
71 71
         this._collisionFlags = 0;
72
+        this._locked = false;
72 73
     }
73 74
 
74 75
     /**
@@ -126,6 +127,9 @@ export class Ball extends Entity
126 127
         impostor.setLinearVelocity(BABYLON.Vector3.Zero());
127 128
         impostor.mass = 0; // disable gravity
128 129
 
130
+        if(this._locked)
131
+            return;
132
+
129 133
         if(ar.pointers.length > 0) {
130 134
             const pointer = ar.pointers[0];
131 135
             const position = ar.session.viewport.convertToPixels(pointer.position, pointer.tracker.space);
@@ -428,6 +432,14 @@ export class Ball extends Entity
428 432
             case 'netready':
429 433
                 event.detail.entity.setBall(this._mesh);
430 434
                 break;
435
+
436
+            case 'gameover':
437
+                this._locked = true;
438
+                break;
439
+
440
+            case 'restarted':
441
+                this._locked = false;
442
+                break;
431 443
         }
432 444
     }
433 445
 }

+ 1
- 1
demos/basketball/src/entities/gui/gameover-overlay.js 查看文件

@@ -108,7 +108,7 @@ export class GameOverOverlay extends GUIControl
108 108
             return;
109 109
 
110 110
         const pointer = ar.pointers[0];
111
-        if(pointer.phase != 'began')
111
+        if(pointer.phase != 'ended')
112 112
             return;
113 113
 
114 114
         // hide the overlay when touching the screen

正在加载...
取消
保存