|
SWiSH Forum Forum użytkowników programów SWiSH |
|
Skrypty do programu SWiSH2 i SWISHmax - dlaczego to nie działa?! isNearTarget
m21 - Sob 24 Mar, 2012 15:31 Temat postu: dlaczego to nie działa?! isNearTarget mam taki kod:
Kod: | onSelfEvent (enterFrame) {
if (_root.obiekt1.isNearTarget(_root.obiekt2._target)) {
_root.obiekt2._y += -10;
}
} |
chciałem żeby obiekt1 po zderzeniu z obiektem2 przesunął się o 10
ale nie działa
od razu po włączeniu animacji obiekt2 leci w górę
espe1 - Sob 24 Mar, 2012 20:56
u mnie działa, ciężko stwierdzić co spierdzieliłeś bo wrzuciłeś tylko fragment kodu
trzeba wrzucać pliki swi, nie wiem czemu wszyscy boją się wrzucać pliki, robicie projekty dla Pentagonu, czy co?
m21 - Sob 24 Mar, 2012 21:05
to mógłbyś zobaczyć, czemu u mnie to nie działa? obiekt 1 to "auto1", obiekt2 - "kolo"
espe1 - Sob 24 Mar, 2012 21:43
dlatego, że ruch na twojej scenie to efekty move
i chcesz robić kolizję skryptową z efektami move
albo wszystko za pomocą skrytów: np. ruch samochodu to:
auto._x +=3 //im więcej tym szybciej
albo za pomocą efektów move
jak auto dojedzie do opony np. na 31 klatce efektu move to przesuwasz równocześnie oponę za pomocą efektu move o 10 do góry
radzę zrobić wszystko za pomoca move i wywalić .isNearTarget, bo nie będzie działało
m21 - Sob 24 Mar, 2012 21:54
ok dzięki, ale jak w takim razie zrobić, żeby jeśli jeden samochód poruszający się za pomocą efektu move zderzy się z drugim, który też się porusza, to np. odtworzyć scenę od nowa
[ Dodano: Sob 24 Mar, 2012 23:26 ]
poradziłem sobie zamiast isNearTarget wystarczyło użyć hitTest i wszystko działa
|
|