【发布时间】:2020-10-08 00:21:31
【问题描述】:
我正在尝试使用 react-konva 制作一个 RPG 表,并且我无法使用钩子 useImage 从数据库中动态渲染图像,它现在可以在地图中使用。
const imagens =
tokens && tokens.tokens && tokens.tokens.map(item => item.image)
const [token] = useImage(imagens && imagens[0])
return (
<Stage
x={stagePos.x}
y={stagePos.y}
width={1200}
height={600}
draggable
onDragEnd={e => {
setStagePos(e.currentTarget.position())
}}
>
<Layer>
{gridComponents}
{tokens &&
tokens.tokens &&
tokens.tokens.map(item => (
<Image
draggable
x={item.x}
y={item.y}
image={token} // item.image
width={item.width}
height={item.height}
offsetX={item.width / 2}
offsetY={item.height / 2}
scaleX={1}
rotation={item.angle}
onDragEnd={handleDragEnd}
onClick={() => {
setAngle(angle + 45)
item.angle += 45
}}
/>
))}
</Layer>
</Stage>
这样我们工作,但所有项目都使用静态图像。如何将 useImage 放入 de map 中?
我还需要移动每一个并旋转。我是这样旋转的,看起来成功了!
onClick={() => {
setAngle(angle + 45)
item.angle += 45
}}
【问题讨论】:
标签: reactjs konvajs react-konva