Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%)
|
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? Ten post edytował adbacz 7.04.2015, 11:38:51 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Widocznie tak działa, że zdarzenie jest przypięte do boundingbox elementu.
http://fabricjs.com/hovering/ |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%)
|
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.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 19:42 |