Flash (フラッシュ)
画面を一瞬特定の色(デフォルトは白)で光らせます。雷や強い光の表現に使えます。
コードスニペット
Section titled “コードスニペット”1. メソッド (Method)
Section titled “1. メソッド (Method)”/** * 画面を一瞬光らせる * @param duration 持続時間(ms) * @param r 赤 (0-255) * @param g 緑 (0-255) * @param b 青 (0-255) */public flashCamera(duration: number = 500, r: number = 255, g: number = 255, b: number = 255) { this.cameras.main.flash(duration, r, g, b);}2. 使い方 (Usage)
Section titled “2. 使い方 (Usage)”create() { // 0.5秒かけて白く光らせる this.flashCamera(500, 255, 255, 255);}完全なソースコード
Section titled “完全なソースコード”クラス全体を見る
import Phaser from 'phaser';
export class FlashScene extends Phaser.Scene { constructor() { super({ key: 'FlashScene' }); }
create() { this.add.text(10, 10, 'Camera Flash', { fontFamily: '"Noto Sans JP", sans-serif', fontSize: '24px', color: '#00ff00' });
const infoText = this.add.text(400, 300, 'Click button to test', { fontFamily: '"Noto Sans JP", sans-serif', fontSize: '32px', color: '#ffffff' }).setOrigin(0.5);
this.createButton(400, 200, 'FLASH', () => { this.flashCamera(); infoText.setText('Flash!'); }); }
/** * 画面を一瞬光らせる * @param duration 持続時間(ms) * @param r 赤 (0-255) * @param g 緑 (0-255) * @param b 青 (0-255) */ public flashCamera(duration: number = 500, r: number = 255, g: number = 255, b: number = 255) { this.cameras.main.flash(duration, r, g, b); }
createButton(x: number, y: number, label: string, callback: () => void) { const button = this.add.text(x, y, label, { fontFamily: '"Noto Sans JP", sans-serif', fontSize: '28px', color: '#000000', backgroundColor: '#ffffff', padding: { x: 10, y: 5 } }) .setOrigin(0.5) .setInteractive({ useHandCursor: true });
button.on('pointerdown', callback); button.on('pointerover', () => button.setStyle({ fill: '#ff0000' })); button.on('pointerout', () => button.setStyle({ fill: '#000000' })); }}実装のポイント
Section titled “実装のポイント”-
色指定: 引数でRGBを指定することで、白だけでなく赤(ダメージ)や青(演出)などのフラッシュも可能です。
-
瞬時のインパクト: 画面全体を覆うエフェクトなので、雷や爆発、シーン転換のきっかけなど、強いインパクトを与えたい場面で有効です。