Отреагировать нативную лыж, чтобы увеличить жестJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Отреагировать нативную лыж, чтобы увеличить жест

Сообщение Anonymous »

В настоящее время я пытаюсь реализовать щепотку, чтобы увеличить жест в Greact Native с помощью нативного обработчика жеста React и реагировать нативную Skia. Цель состоит в том, чтобы создать холст, где я могу плыть и масштабировать. Проблема в том, что я могу масштабировать, но она всегда приближается к происхождению холста. Я уже пробовал это решение, но оно не сработало для меня. Жест PAN работает нормально. < /P>
Здесь мой код: < /p>

Код: Выделить всё

  const canvasRef = useCanvasRef();
const WORLD_W = 3000;
const WORLD_H = 2000;

const scale = useSharedValue(1);
const savedScale = useSharedValue(1);
const startScale = useSharedValue(1);
const translateX = useSharedValue(0);
const translateY = useSharedValue(0);
const startX = useSharedValue(0);
const startY = useSharedValue(0);
const focalX = useSharedValue(0);
const focalY = useSharedValue(0);

const pan = Gesture.Pan()
.onBegin(() => {
startX.value = translateX.value;
startY.value = translateY.value;
})
.onUpdate((e) => {
translateX.value = startX.value + e.translationX;
translateY.value = startY.value + e.translationY;
});

const pinch = Gesture.Pinch()
.onBegin(() => {
savedScale.value = scale.value;
})
.onUpdate((e) => {
const next = Math.max(0.5, Math.min(3, startScale.value * e.scale));

const dx = e.focalX - translateX.value;
const dy = e.focalY - translateY.value;
const factor = next / scale.value;

translateX.value = e.focalX - dx * factor;
translateY.value = e.focalY - dy * factor;
scale.value = next;
});

const transform = useDerivedValue(
() => [
{ translateX: translateX.value },
{ translateY: translateY.value },
{ scale: scale.value },
],
[]
);

const gestures = Gesture.Simultaneous(pan, pinch);

return (



{values.map((s) => (

))}



);
};

const styles = StyleSheet.create({
container: { flex: 1, backgroundColor: "#000" },
canvas: { flex: 1, backgroundColor: "#050815" },
});
Может ли кто -нибудь сказать мне, как выполнить фонд, чтобы правильно масштабировать функцию без эффекта «Дрифт до происхождения»?


Подробнее здесь: https://stackoverflow.com/questions/797 ... om-gesture
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Щетка и масштаб реагируют нативную лыж и реагируют обработчик жестов
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Отреагировать нативную фона геолокацию, а не работать
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Отреагировать нативную ошибку сборки Неизвестный модуль не определен
    Anonymous » » в форуме Android
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI — жест перетаскивания блокирует жест прокрутки только на iPhone 11
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI — жест перетаскивания блокирует жест прокрутки только на iPhone 11
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»