如何通过代码调整CPUParticles2D粒子速度并实现随变量缩放
解决CPUParticles2D粒子速度随Global.pw缩放的问题
你当前的代码是直接将initial_velocity赋值为Global.pw,这属于直接替换速度而非缩放。要实现按变量缩放速度的效果,需要基于粒子原本的初始速度方向,乘以Global.pw这个缩放因子来计算新速度。
具体修改方案如下:
- 先在脚本中定义变量存储粒子的初始基准速度,避免每次更新时丢失原本的速度方向
- 在
_physics_process中用基准速度乘以Global.pw,得到缩放后的速度并赋值给initial_velocity
修改后的代码:
extends CPUParticles2D var base_velocity: Vector2 # 存储粒子初始的基准速度 func _ready(): # 记录粒子默认的初始速度作为基准 base_velocity = initial_velocity func _physics_process(_delta): # 用基准速度乘以Global.pw实现缩放 initial_velocity = base_velocity * Global.pw
补充说明
- 如果
Global.pw是Vector2类型,会分别对X、Y方向的速度进行独立缩放 - 如果
Global.pw是浮点数/整数,则会对整个速度向量进行等比缩放,保持原本的运动方向不变 - 注意
Global.pw的值若为0会让粒子停止运动,负数则会让粒子反向发射,可根据需求调整
内容的提问来源于stack exchange,提问作者No-one in particular
相关产品推荐
相关产品推荐

