首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你有这个React-Three-Fiber的解决方案吗?

你有这个React-Three-Fiber的解决方案吗?
EN

Stack Overflow用户
提问于 2021-08-10 00:55:32
回答 1查看 210关注 0票数 0

我第一次问问题,然后我就停滞不前了……

我正试着用React-Three-Fiber做一个滑块,但我似乎不能让滑块可拖动。

下面是我的代码:

代码语言:javascript
复制
  let canvas = document.querySelector(".canvas")
  let pressed = false;
  let startx;
  let x;

  canvas.addEventListener('mousedown', (e) => {
    pressed = true;
    startx = e.offsetX;
    canvas.style.cursor = "grabbing";
  });

  canvas.addEventListener('mouseenter', () => {
    canvas.style.cursor = "grab";
  })

  canvas.addEventListener('mouseup', () => {
    canvas.style.cursor = "grab";
    pressed = false;
  })

  canvas.addEventListener('mousemove', (e) => {
    if(!pressed) return;
    e.preventDefault();

    x = -e.offsetX / 200;
    position = x / 10;
  })

你有解决方案让它工作吗?

谢谢大家!

EN

回答 1

Stack Overflow用户

发布于 2021-08-11 12:26:19

我会将画布包装到一个div中,并使用常规的react事件。你也可以使用常规的dom overflow:在画布前面滚动div,它们在移动端默认支持抓取。

一些例子

webgl https://codesandbox.io/s/minimap-qf8d0中实现的涉及https://codesandbox.io/s/tying-canvas-to-scroll-offset-itfgk

  • more的

  • more
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68720003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档