You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phaser3中preFX.addGlow在缩放场景下失效问题求助

Phaser3 preFX.addGlow 缩放后精灵消失问题解答

问题原因

preFX 是精灵级别的前置特效,它的渲染逻辑依赖精灵的原始纹理坐标系统。当你对精灵启用缩放后,preFX 的发光特效计算仍基于原始纹理尺寸,导致精灵的实际渲染区域超出了 preFX 预设的采样范围,最终被完全裁剪,表现为精灵消失。

而 postFX 是全局/通道级别的后置特效,它基于场景最终渲染的像素结果处理,不受精灵自身缩放的坐标偏移影响,因此能正常渲染发光效果。

解决建议

  • 直接使用 postFX.addGlow:这是最省心的方案,效果与 preFX 一致且无缩放兼容性问题。
  • 手动匹配 preFX 缩放参数:若必须使用 preFX,添加 glow 时指定 scale 参数与精灵缩放值一致,让特效计算适配缩放后的尺寸:
// 示例:精灵缩放为2倍时,preFX glow 同步设置scale
const sprite = this.add.sprite(400, 300, 'your-texture');
sprite.setScale(2);
sprite.preFX.addGlow({
    color: 0xffff00,
    strength: 0.6,
    scale: 2 // 与精灵缩放值匹配
});
  • 升级至 Phaser 3.80 正式版:你使用的是测试版本,preFX 模块可能存在未修复的缩放适配 bug,正式版大概率已修复该问题。

内容的提问来源于stack exchange,提问作者Ivan Kluzak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:49:54