Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Canvas, Polygon lub Path a zdażenie HOVER
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
adbacz
Używam biblioteki http://fabricjs.com/ do wygenerowania tła z kilkoma interaktywnymi elementami. Chodzi mi o dwa efekty, pierwszy jest taki, że po najechaniu ma się zmienić tło, a drugi, ze po kliknięciu przejdzie na konkretną podstronę. Wiem jak wykonać obie te rzeczy, jednak martwi mnie rzecz, która jest normalna w HTML i nie wiem czy też tak jest w Canvas, czy ja robie cos źlę.

Na Canvas rysuję nieregularny kształt, ale gdy przychodzi czas na HOVER, to element tak jakby zaczyna się od najwyżej (lub najwczesniej) położonego punktu, a kończy na najniżej (lub najdalej) położonym. Przykład poniżej:
[code]
00000000000000000000
00000010000000000000
00000111110000000000
00000011111111100000
00000011111111100000
00000000111100000000
00000000000000000000
[code]
1 - oznacza pole figury
0 - oznacza pole canvas

Mimo, że w linii 2, mamy tylko jedną jedynkę, to nieważne na które zero w tej linii najedziemy aż do momentu końca jedynek w danej kolumnie w niższych rzedach, to zdarzenie HOVER się wykonuje. Czyli wygląda na to, że pomimo wyświetlania wielokątu czy PATH jako figury nieregularnej, to tak na prawę na CANVAS ona i tak jest regularna (prostokąt).

Czy to normalne zjawisko, czy ja musiałem zrobić coś źle w kodzie, że mi tak to działa?
trueblue
Widocznie tak działa, że zdarzenie jest przypięte do boundingbox elementu.
http://fabricjs.com/hovering/
adbacz
Użyłem biblioteki http://createjs.com/ i jest o wiele lepiej. Najwyraźniej autor Fabric.js robi tak jak napisałeś @trueblue i stąd takie zachowanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.