Thread View: alt.pl.programy.flash-5
4 messages
4 total messages
Started by MoaB
Wed, 17 Dec 2008 12:52
hitArea
Author: MoaB
Date: Wed, 17 Dec 2008 12:52
Date: Wed, 17 Dec 2008 12:52
10 lines
1467 bytes
1467 bytes
Witam, nie działa mi funkcja 'mc1.hitArea(mc2)', gdy mc2 jest zagniezdzony w mc1. W opisie funkcji niczego na ten temat nie ma, czy u Was tez to nie dziala? np. mam mc1 kwadrat z zagniezdzonym mc2 kolkiem; chce aby obszarem aktywnym do hitTestu dla mc1 byl mc2, ale nie działa. Wiem jak to zrobić w inny sposób, ale chodzi mi tylko o to, czy funkcja hitArea (skoro już jest stworzona) umożliwia takie ustawienie. MB
Re: hitArea
Author: olo
Date: Wed, 17 Dec 2008 15:46
Date: Wed, 17 Dec 2008 15:46
39 lines
2069 bytes
2069 bytes
MoaB pisze:
> Witam, nie działa mi funkcja 'mc1.hitArea(mc2)', gdy mc2 jest
> zagniezdzony w mc1.
> W opisie funkcji niczego na ten temat nie ma, czy u Was tez to nie
> dziala?
>
> np. mam mc1 kwadrat z zagniezdzonym mc2 kolkiem; chce aby obszarem
> aktywnym do hitTestu dla mc1 byl mc2, ale nie działa. Wiem jak to
> zrobić w inny sposób, ale chodzi mi tylko o to, czy funkcja hitArea
> (skoro już jest stworzona) umożliwia takie ustawienie.
> MB
ale to jest przeciez bez sensu
skoro mc2 jest elementem mc1, to tym samym obszar mc1 to tak naprawde
mc1 + mc2. To sprawa pierwsza.. Druga sprawa to adresowanie
zapis: mc1.hitArea(mc2) szuka obiekto o instance name mc2 na tym samym
zagnieżdżeniu co mc1. Prawidłowe adresowanie byłoby
mc1.hitArea(mc1.mc2), ale tez zapis dopiero pokazuje jak to jest bez
sensu ;)
jeśli dobrze rozumiem z powyższego to powinieneś zrobić tak:
mc1 i mc2 mają być na tym samym stopniu zagnieżdżenia (bracia, a nie
rodzice/dzieci)
do mc2 dopinasz akcje:
mc2.onRollOver = function() {
var mc1 = this._parent.mc1;
mc1.zrobJakasAkcje();
}
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
ZAPRASZAMY!!
Re: hitArea
Author: MoaB
Date: Thu, 18 Dec 2008 12:42
Date: Thu, 18 Dec 2008 12:42
21 lines
1996 bytes
1996 bytes
Witam, dzięki za odpowiedź, może wyjaśnię dokładniej sytuację, bo nie do końca się zrozumieliśmy, chodzi o zagnieżdżenie tego typu, - graficznie: mamy duży kwadrat (mc1), a w jego środku mniejsze kółko (mc2), - obiektowo: mc2 jest zagnieżdżony w mc1 tak więc powierzchnia aktywna kółka jest mniejsza niż całego kwadratu, a więc nie jest to bez sensu, jeśli chodzi o odwołanie się, faktycznie poprawna wersja to mc1.hitArea (mc1.mc2), ale chodziło mi tylko o przedstawienie problemu, odnośnie innych rozwiązań, pisałem, że wiem jak to zrobić (a mc1 i mc2 nie muszą być na tym samym poziomie, żeby to uzyskać), dlatego dziękuję za nie, ale chodzi mi o co innego - skoro jest funkcja wbudowana we Flashu i by ona działała (a tego staram się dowiedzieć) to po co pisać kilka niepotrzebnych linii swojego kodu. pozdr, MB
Re: hitArea
Author: olo
Date: Sat, 20 Dec 2008 10:33
Date: Sat, 20 Dec 2008 10:33
24 lines
1976 bytes
1976 bytes
MoaB pisze: > Witam, > dzięki za odpowiedź, może wyjaśnię dokładniej sytuację, bo nie do > końca się zrozumieliśmy, istotnie, wiedziałem, że coś jest nie tak.. Pomieszało mi się hitArea z hitTest, który byłby naprawdę bez sensu. Kwestie hitArea rozwiąże myślę ten link: http://livedocs.adobe.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00001515.html kwestia 1 to inna składnia, ale być może pisałeś roboczo, więc to pomijam. Druga sprawa to fakt, że nie widzę powodów dla których mc2 ma być zagnieżdżony w mc1. Czytając tego krótkiego manuala do tej funkcji widzę, że powinno to działać bez żadnych zastrzeżeń bez potrzeby pisania dodatkowych linijek swojego kodu. Obecnie flasha nie mam zainstalowanego (nie pracuję w nim już z resztą od dłuższego czasu) więc nie posprawdzam za wiele, ale daj znać jak poszło -- pozdrawiam! http://webtrunki.pl - piwa, wina, wódki, domowe wyroby ZAPRASZAMY!!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads