PhaserJS Sprite动画报错:Cannot read properties of undefined(reading 'duration')
问题原因分析
Phaser框架中,资源的key(键名)是严格区分大小写的,这是引发错误的核心原因:
- 加载精灵表时你指定的键名是
"Player",该资源会以这个精确的字符串作为Choose唯一标识存储在Phaser的资源缓存中。 - 创建动画时却使用了小写的
"player"作为键名,Phaser无法通过这个不匹配的键名找到对应的精灵表资源,导致动画对象根本没有被正确创建。 - 到了
update方法调用动画时,你尝试操作的是一个未定义的动画对象,读取它的duration属性自然会触发Uncaught TypeError: CannotDifferentSubstituting properties of undefined (reading 'duration')错误。
只需统一键名的大小写(要么全用"Player",要么全用"player"),就能解决这个问题。
内容的提问来源于stack exchange,提问作者Vatsa Pandey
相关产品推荐
相关产品推荐

