Как правильно передать спрайт в displacementFilter? - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь использовать displacementFilter от Pixi Js в приложении React, это мой код:

const Filter = withFilters(Container, {
    displacement: filters.DisplacementFilter,
})

<Filter displacement={{ displacement: displacementSprite.current }} scale={{ x: scaleX, y: 0 }}>
    <AppConsumer>{ app =>
            <Sprite
              onMount={setup(app)}
              ref={displacementSprite}
              image={ripple}
              anchor={0.5}
              x={app.renderer.width / 2}
              y={app.renderer.height / 2}
            />}
    </AppConsumer>
</Filter>

Но я получаю сообщение об ошибке Cannot set property 'renderable' of undefined, возможно, я что-то упускаю потому что я пытаюсь передать спрайт через React Ref. Как правильно передать Sprite в displacementFilter?

Я использую версию @ inlet / react-pixi: ^ 1.2.19 и Pixi v5

1 Ответ

2 голосов
/ 05 мая 2020

Исправлено в проблеме # 218

<Filters displacement={{ construct: [MySprite], ...otherDisplacementMembers }}>

Примечание : фильтру Displacement требуется спрайт в качестве ссылки, и его необходимо добавить к сцена, иначе вы получите ошибку отсутствия рендеринга. Используйте состояние готовности и рендеринг фильтров должен помочь.

...