Forum Discussion
CajaPopularM704
7 months agoCommunity Member
Gsap Mouse Down animation
Hello everyone,
I am currently working on a little game where the character used must walk, so I've been trying to use GSAP to make it work, the interaction is simple:
While the button is pressed...
Jim_Arbon
3 months agoCommunity Member
Seb_Daubert​'s code worked for me. I've also added a right button so that the character can move left and right :)
Setup:
- Right-click your character object > Accessibility: In the Alternative text field, call it character
- For your left button, do the same and call it ButtonLeft
- For your right button, do the same and call it ButtonRight
- Add a JavaScript trigger when the timeline starts, with this JS:
let character = document.querySelector('[data-acc-text="character"]');
let buttonL = document.querySelector('[data-acc-text="ButtonLeft"]');
let buttonR = document.querySelector('[data-acc-text="ButtonRight"]');
// Function called each tick while pressed
function moveStepL() {
gsap.set(character, { x: "-=2" }); // Move 2px per frame (adjust as desired)
}
function moveStepR() {
gsap.set(character, { x: "+=2" }); // Move 2px per frame (adjust as desired)
}
buttonL.addEventListener("mousedown", () => {
gsap.ticker.add(moveStepL);
});
buttonL.addEventListener("mouseup", () => {
gsap.ticker.remove(moveStepL);
});
buttonL.addEventListener("mouseleave", () => {
gsap.ticker.remove(moveStepL);
});
buttonR.addEventListener("mousedown", () => {
gsap.ticker.add(moveStepR);
});
buttonR.addEventListener("mouseup", () => {
gsap.ticker.remove(moveStepR);
});
buttonR.addEventListener("mouseleave", () => {
gsap.ticker.remove(moveStepR);
});
Related Content
- 10 months ago