From 9b6ead769b2bc384fa79671d62e6fc863c162387 Mon Sep 17 00:00:00 2001 From: Aomsir Date: Wed, 19 Nov 2025 00:44:12 +0800 Subject: [PATCH] fix: add CORS support for video examples loading from CDN - Add setCORS('anonymous') to all video examples that load from CDN (3.86, 3.55) - Remove CORS settings from local video examples (3.24, public/src) - Ensure proper video playback across different domains --- public/3.55/src/game objects/video/play video.js | 3 ++- public/3.86/src/game objects/video/change video source.js | 1 + public/3.86/src/game objects/video/get first video frame.js | 1 + public/3.86/src/game objects/video/loop video.js | 1 + public/3.86/src/game objects/video/multiple video instances.js | 1 + public/3.86/src/game objects/video/multiple videos.js | 1 + public/3.86/src/game objects/video/on complete event.js | 1 + public/3.86/src/game objects/video/play video.js | 1 + public/3.86/src/game objects/video/stream video from webcam.js | 1 + public/3.86/src/game objects/video/transparent video.js | 1 + public/3.86/src/game objects/video/video as shader texture.js | 1 + public/3.86/src/game objects/video/video controls.js | 1 + public/3.86/src/game objects/video/video set current time.js | 1 + public/3.86/src/game objects/video/video snapshot area.js | 1 + public/3.86/src/game objects/video/video snapshot.js | 1 + public/3.86/src/game objects/video/video to sprites.js | 1 + public/3.86/src/game objects/video/video transition.js | 1 + 17 files changed, 18 insertions(+), 1 deletion(-) diff --git a/public/3.55/src/game objects/video/play video.js b/public/3.55/src/game objects/video/play video.js index e41719feb..379091f0b 100644 --- a/public/3.55/src/game objects/video/play video.js +++ b/public/3.55/src/game objects/video/play video.js @@ -14,7 +14,8 @@ var game = new Phaser.Game(config); function preload () { - this.load.setBaseURL('https://cdn.phaserfiles.com/v355'); + this.load.setCORS('anonymous'); + this.load.setBaseURL('https://cdn.phaserfiles.com/v355'); this.load.video('wormhole', 'assets/video/wormhole.mp4', 'loadeddata', false, true); } diff --git a/public/3.86/src/game objects/video/change video source.js b/public/3.86/src/game objects/video/change video source.js index fbf09effb..38c273c7d 100644 --- a/public/3.86/src/game objects/video/change video source.js +++ b/public/3.86/src/game objects/video/change video source.js @@ -10,6 +10,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('mountains', 'assets/video/mountains.mp4', true); this.load.video('pumpkins', 'assets/video/pumpkins.mp4', true); diff --git a/public/3.86/src/game objects/video/get first video frame.js b/public/3.86/src/game objects/video/get first video frame.js index d6a4ca686..42be6b583 100644 --- a/public/3.86/src/game objects/video/get first video frame.js +++ b/public/3.86/src/game objects/video/get first video frame.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('spaceace', 'assets/video/spaceace.mp4'); this.load.image('play', 'assets/ui/play-button.png'); diff --git a/public/3.86/src/game objects/video/loop video.js b/public/3.86/src/game objects/video/loop video.js index 2ca3dc1c8..d9cb803bd 100644 --- a/public/3.86/src/game objects/video/loop video.js +++ b/public/3.86/src/game objects/video/loop video.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.image('bg', 'assets/skies/space3.png'); this.load.video('astronaut', 'assets/video/astronaut.webm', true); diff --git a/public/3.86/src/game objects/video/multiple video instances.js b/public/3.86/src/game objects/video/multiple video instances.js index 36f874e56..beeea4561 100644 --- a/public/3.86/src/game objects/video/multiple video instances.js +++ b/public/3.86/src/game objects/video/multiple video instances.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('mountains', 'assets/video/mountains.mp4', true); } diff --git a/public/3.86/src/game objects/video/multiple videos.js b/public/3.86/src/game objects/video/multiple videos.js index ebb32091e..1fda0f5ba 100644 --- a/public/3.86/src/game objects/video/multiple videos.js +++ b/public/3.86/src/game objects/video/multiple videos.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('fireworks', 'assets/video/fireworks.mp4', true); this.load.video('pumpkins', 'assets/video/pumpkins.mp4', true); diff --git a/public/3.86/src/game objects/video/on complete event.js b/public/3.86/src/game objects/video/on complete event.js index ed107a912..2fdf3b361 100644 --- a/public/3.86/src/game objects/video/on complete event.js +++ b/public/3.86/src/game objects/video/on complete event.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('flight', 'assets/video/endless-flight.mp4', true); } diff --git a/public/3.86/src/game objects/video/play video.js b/public/3.86/src/game objects/video/play video.js index f4ab890fa..22220a562 100644 --- a/public/3.86/src/game objects/video/play video.js +++ b/public/3.86/src/game objects/video/play video.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('spaceace', 'assets/video/spaceace.mp4'); } diff --git a/public/3.86/src/game objects/video/stream video from webcam.js b/public/3.86/src/game objects/video/stream video from webcam.js index aab29dc91..ac39fe2d9 100644 --- a/public/3.86/src/game objects/video/stream video from webcam.js +++ b/public/3.86/src/game objects/video/stream video from webcam.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.image('bg', 'assets/pics/purple-bars.jpg'); this.load.image('monitor', 'assets/pics/commodore1084.png'); diff --git a/public/3.86/src/game objects/video/transparent video.js b/public/3.86/src/game objects/video/transparent video.js index 6e0e84b7d..561e18a65 100644 --- a/public/3.86/src/game objects/video/transparent video.js +++ b/public/3.86/src/game objects/video/transparent video.js @@ -11,6 +11,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('robot', 'assets/video/robot-dance.webm'); this.load.audio('tune', 'assets/audio/aquakitty-kittyrock.m4a'); diff --git a/public/3.86/src/game objects/video/video as shader texture.js b/public/3.86/src/game objects/video/video as shader texture.js index 2402c5ae8..f642051b2 100644 --- a/public/3.86/src/game objects/video/video as shader texture.js +++ b/public/3.86/src/game objects/video/video as shader texture.js @@ -7,6 +7,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('trainSequence', 'assets/video/train512x256.mp4', true); this.load.image('noise', 'assets/tests/rgba-noise-medium.png'); diff --git a/public/3.86/src/game objects/video/video controls.js b/public/3.86/src/game objects/video/video controls.js index 28614ec21..36f18a506 100644 --- a/public/3.86/src/game objects/video/video controls.js +++ b/public/3.86/src/game objects/video/video controls.js @@ -15,6 +15,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.atlas('ui', 'assets/ui/dark-ui.png', 'assets/ui/dark-ui.json'); this.load.video('fireworks', 'assets/video/fireworks.mp4', true); diff --git a/public/3.86/src/game objects/video/video set current time.js b/public/3.86/src/game objects/video/video set current time.js index f3d172010..f5f6e0720 100644 --- a/public/3.86/src/game objects/video/video set current time.js +++ b/public/3.86/src/game objects/video/video set current time.js @@ -13,6 +13,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('spaceace', 'assets/video/spaceace.mp4', true); this.load.atlas('ui', 'assets/ui/dark-ui.png', 'assets/ui/dark-ui.json'); diff --git a/public/3.86/src/game objects/video/video snapshot area.js b/public/3.86/src/game objects/video/video snapshot area.js index 02c6de303..b57c9d058 100644 --- a/public/3.86/src/game objects/video/video snapshot area.js +++ b/public/3.86/src/game objects/video/video snapshot area.js @@ -10,6 +10,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('spaceace', 'assets/video/spaceace.mp4', true); this.load.atlas('ui', 'assets/ui/dark-ui.png', 'assets/ui/dark-ui.json'); diff --git a/public/3.86/src/game objects/video/video snapshot.js b/public/3.86/src/game objects/video/video snapshot.js index f999fa5e0..c6963239a 100644 --- a/public/3.86/src/game objects/video/video snapshot.js +++ b/public/3.86/src/game objects/video/video snapshot.js @@ -10,6 +10,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('spaceace', 'assets/video/spaceace.mp4', true); this.load.atlas('ui', 'assets/ui/dark-ui.png', 'assets/ui/dark-ui.json'); diff --git a/public/3.86/src/game objects/video/video to sprites.js b/public/3.86/src/game objects/video/video to sprites.js index 13208febe..389edaef7 100644 --- a/public/3.86/src/game objects/video/video to sprites.js +++ b/public/3.86/src/game objects/video/video to sprites.js @@ -10,6 +10,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('skeletonSequence', 'assets/video/skeleton.webm', true); this.load.audio('tune', 'assets/audio/mag-overkill.m4a'); diff --git a/public/3.86/src/game objects/video/video transition.js b/public/3.86/src/game objects/video/video transition.js index 3a4f9cdd9..4848afced 100644 --- a/public/3.86/src/game objects/video/video transition.js +++ b/public/3.86/src/game objects/video/video transition.js @@ -13,6 +13,7 @@ class Example extends Phaser.Scene preload () { + this.load.setCORS('anonymous'); this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.video('fireworks', 'assets/video/fireworks.mp4', true); this.load.video('transition', 'assets/video/colorful-smoke-transition.webm', true);