• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Rownanie matematycznie na stopniowe zmniejsznanie

Fiszki IT
Fiszki IT
+2 głosów
22 wizyt
pytanie zadane 18 listopada 2020 w JavaScript przez Renzov Użytkownik (980 p.)
zamknięte 18 listopada 2020 przez Renzov

Hej,

Mam pewien problem z bardzo prostym równaniem matematycznym. Miałem zrobiony na stronie taki efekt, że:

Na środku ekranu pojawia się kropka. Kiedy użytkownik rusza myszką na boki, kropka idzie w odwrotnym kierunku od myszki. Im bliżej myszka znajduje się krawędzi, tym bardziej kropka zwalnia. Niestety projekt mi uciekł i nie pamiętam jak zrobiłem równanie. Na chwilę obecną mam zrobione równanie tak, że kropka idzie w przeciwną stronę, ale nie zwalnia.

Mam zrobione tak:

Jeśli ekran użytkownika ma 1500 szerokości:

//Wychwycenie w jakim % znajduje się kursor

(Pozycja kursora / szerokość okna) * 100

//Usunięcie negatywnego wyniku i wyśrodkowanie obiektu (Używam transform translate do przesuwania kropki)

(Pozycja kursora / szerokość okna) * 100) -50)* -1) -50);

I tutaj wszystko działa. Gdy kursor jest na 0, obiekt przesuwa się o 100%, 750px - 50% i 1500px 100%

Teraz nie wiem jak zrobić tak, żeby zwalniał bliżej krawędzi i nawet do niej nie dochodził. Kombinowałem z ^3 oraz / 1000 ale działało to w jedną stronę. Od 50+ działało dobrze, obiekt zwalniał, ale poniżej 50 przyśpieszał.

Zamieszczam ponizej grafik, bo ciezko bedzie troche zrozumiec o co mi dokladnie chodzi:

komentarz zamknięcia: Rozwiazane
komentarz 18 listopada 2020 przez ScriptyChris Mędrzec (164,760 p.)

Możesz pokazać kod?

1
komentarz 18 listopada 2020 przez Renzov Użytkownik (980 p.)

Hej,

Już udało mi się to rozwiać za pomocą tego:

this.mouse.x = event.clientX;
this.mouse.y = event.clientY;
this.mouse.xNew = (-50 + ((window.innerWidth / 2) - this.mouse.x) / 150);
this.mouse.yNew = (-50 + ((window.innerHeight / 2) - this.mouse.y) / 150);
this.splashPosition.total = ('translate(' + this.mouse.xNew + '%, ' + this.mouse.yNew + '%)');

 

Podobne pytania

0 głosów
1 odpowiedź 145 wizyt
pytanie zadane 21 kwietnia 2020 w C i C++ przez Atman Użytkownik (810 p.)
0 głosów
2 odpowiedzi 107 wizyt
+1 głos
3 odpowiedzi 257 wizyt
Porady nie od parady
Forum posiada swój własny serwer Discord, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

84,756 zapytań

133,559 odpowiedzi

295,985 komentarzy

56,012 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...