This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Как реализовать мотание персонажа мышкой?

18 Мар 2023
70
-3
45
Нужно в магазине одежды сделать мотание персонажа лкмом. Как это реализовать, есть ли уже готовое решение?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,428
239
100
Для реализации мотания персонажа лкмом в магазине одежды можно использовать скрипты управления анимациями и физикой в вашем движке. Возможно, есть готовые решения или сторонние плагины для этой задачи, которые можно найти в интернете.
 

Dmitry_V

Гений
23 Июн 2023
2,402
397
131
28
 

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,636
520
187
22
Ну вариантов два:
  • ловишь события "зажатия лкм" и "движение мышки в определенной области". У получается у тебя есть тумблер "лкм зажат" и "лкм отжат", а также движение "mousemove" внутри контейнера
  • на клиенте ловишь клик, ловишь в рендере положение мышки. И соответственно, что выше. Берешь локального игрока и вертишь (по-моему не этот метод, но всё-таки).
 
Реакции: Dmitry_V
18 Мар 2023
70
-3
45
Реализовать не получается, есть ли пример кода?
 

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,636
520
187
22
Реализовать не получается, есть ли пример кода?
Реализовать получится, в столе заказов или я накидал всё. Удочка, как говорится, есть, лови рыбу сам.
Примеры можешь в слитых модах поискать.
 
Реакции: Harland David Sanders

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
Реализовать не получается, есть ли пример кода?
А как именно не получается? Покажи код который ты попробовал сделать на основе предоставленного тебе алгоритма
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
Что такое - customCamera? Полный код предоставь.
 
18 Мар 2023
70
-3
45
Что такое - customCamera? Полный код предоставь.
JavaScript:
let customCamera = null;
function setCustomCamera(position, rotation, distance) {
    if (customCamera) {
        customCamera.setActive(false);
        customCamera.destroy();
    }
    const offsetPosition = new mp.Vector3(
        position.x,
        position.y - distance,
        position.z
    );
    customCamera = mp.cameras.new('default', offsetPosition, new mp.Vector3(rotation.x, rotation.y, rotation.z + 180), 40);
    customCamera.setActive(true);
    mp.game.cam.renderScriptCams(true, false, 0, true, false);
}
function setFixedCameraWithRotationAndDistance() {
    const cameraPosition = new mp.Vector3(75.0, -1395.0, 30.0);
    const cameraRotation = new mp.Vector3(0.0, 0.0, 0.0);
    const cameraDistance = -1.0;
    setCustomCamera(cameraPosition, cameraRotation, cameraDistance);
}
mp.events.add('render', () => {
    if (customCamera !== null && customCamera.isActive()) {
        if (!mp.gui.cursor.visible) return;
        const cursorPos = mp.gui.cursor.position;
        if (!cursorPos) return;
        const player = mp.players.local;
        const rotation = player.getRotation(2);
        const newRotation = rotation.z + (cursorPos[0] - 0.5) * 2;
        
        player.setRotation(rotation.x, rotation.y, newRotation, 2, true);
    }
});
 

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,636
520
187
22
Выглядит как жизнеспособный, а в какой момент не работает? Дебажил?


а это тут зачем?
 

Similar threads