SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - większe pole reakcji kursora

Piotrek - Czw 25 Cze, 2009 11:21
Temat postu: większe pole reakcji kursora
Witam,

Mam ambitny plan stworzenia nie ambitnej gry. Więc, standardowo, coś omija przeszkody na dole i górze przewijającego się pola. Obiekt do omijania przeszkód w moim zamyśle miałby być przypięty do kursora myszki. W momencie kiedy obiekt najeżdża na przeszkodę to koniec gry. Próbowałem zrobić to sposobem on roll over, niestety obszar działania takiego obiektu podpiętego zamiast kursora to 1 px dokładnie tak jak w kursorze. Powoduje to że najechanie na przeszkodę zakończy grę tylko w przypadku kiedy najedziemy samym środkiem obiektu, a chodzi o to żeby jego krawędzie też reagowały. :( Co zatem można zrobić aby taki animowany kursor miał obszar działania równy animacji jaką on jet a nie jak kursor zwykły 1 px. Może istnieje jakaś inna metoda? Obiekt z pewnym kodem "drag + coś jeszcze" kiedy nachodzi na obiekt z podobnym kodem to coś się wydarzy?

Proszę o pomoc.

shastaan - Czw 25 Cze, 2009 11:52

Zobacz swi.
Problemu Ci właściwie nie rozwiązuję bo wziąłem pod uwagę tylko _x i to tylko z lewej strony ale to powinno Ci podpowiedzieć co zrobić.

Pozdrawiam.

Piotrek - Czw 25 Cze, 2009 12:11

Mógłbyś może zapisać w jakiejś starszej wersji ?
shastaan - Czw 25 Cze, 2009 20:45

Generalnie sobie zrobiłem okrąg o wymiarach 40x40 gdzieś na x=30, nazwałem go "kursor". Potem zrobilem prostokąt o wymiarach 100x100 gdzieś na x=750 i nazwałem go przeszkoda. Jedno i drugie target.

Na scene wrzucasz:
Kod:

onSelfEvent(enterFrame) {
    kursor._x=_xMouse;
    kursor._y=_yMouse;
    if(przeszkoda._x-kursor._x<70) {kursor._alpha=30};
    }



Efekt ma być taki że przesuwając myszkę w stronę kwadratu (w prawo), on sobie liczy dystans od środka kwadrata do środka okręgu. Jak dystans zmniejszy się do 70ciu - gdy zetkną się krawędziami - wykonuje się warunek: alpha=30.

Nigdy tego nie robiłem i poświęciłem temu z 5 minut ale myślę, że tą metodą się da dojść do Twojego celu.


Powered by phpBB modified by Przemo © 2003 phpBB Group