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 :D zamiast isNearTarget wystarczyło użyć hitTest i wszystko działa :)


Powered by phpBB modified by Przemo © 2003 phpBB Group