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

SWiSH Max - Przewijanie fotki

dukat - Sob 25 Mar, 2006 20:06
Temat postu: Przewijanie fotki
Jak wprowadzić ograniczenie w przesuwaniu obiektu strzałkami (klawisze). Korzystam z prostego skryptu:

Cytat:
on (keyPress("<Right>")){
foto._x+=2;
}
on (keyPress("<Left>")){
foto._x-=2;
}
on (keyPress("<down>")){
foto._y+=2;
}
on (keyPress("<up>")){
foto._y-=2;
}


Zależy mi żeby obiekt nie wyjeżdzał mi poza pewien obszar. W gre wchodzą takze suwaki do przewijania duzego zdjęcia w pionie i poziomie. Sęk w tym że dopiero raczkuje w jezyku skryptowym swisha. Prosze o pomoc :?: :-\

erbe - Sob 25 Mar, 2006 20:36

Kod:
on (keyPress("<Right>")){
foto._x+=2;
}
on (keyPress("<Left>")){
foto._x-=2;
}
on (keyPress("<down>")){
foto._y+=2;
}
on (keyPress("<up>")){
foto._y-=2;
}

onEnterFrame() {
    if (isNearTarget(_root.blok_l._target,4)) {
        this._x = 8;
    }
    if (isNearTarget(_root.blok_p._target,4)) {
        this._x = 792;
    }
    if (isNearTarget(_root.blok_g._target,4)) {
        this._y = 8;
    }
    if (isNearTarget(_root.blok_d._target,4)) {
        this._y = 592;
    }
}

Powstawiaj linie wokół pola i pogrupuj w Sprity o nazwach blok_l, blok_p, blok_g, blok_d.

dukat - Nie 26 Mar, 2006 10:45

nie wiem co robie nie tak bo opisany przez Ciebie sposób nie działa jak należy :|
utworzyłem te sprity z liniami do okoła obiektu i zadałem im nazwy; cały skrypt dodalem do poruszanej fotki i niestety nadal wyjeżdza po za linie :?

co oznaczają te współrzedne:
this._x = 8;
this._x = 792; etc.

erbe - Nie 26 Mar, 2006 12:55

dukat napisał/a:
co oznaczają te współrzedne:
this._x = 8;
this._x = 792; etc.

To pozycja zdjecia. Nie wiem jak duże masz to zdjęcie i jak wielki jest obszar poruszania się, więc dałem tylko przykład. Współrzędne musisz dobrać samemu nie zapominając zeby anchor point zdjęcia dać na center.

stefcio - Nie 26 Mar, 2006 14:41
Temat postu: pytanie
Kod:
onEnterFrame() {
    if (isNearTarget(_root.blok_l._target,4)) {
        this._x = 8;
    }
    if (isNearTarget(_root.blok_p._target,4)) {
        this._x = 792;
    }
    if (isNearTarget(_root.blok_g._target,4)) {
        this._y = 8;
    }
    if (isNearTarget(_root.blok_d._target,4)) {
        this._y = 592;
    }

do czego w tym kodzie słóży root?? i czy te boki muszą być "sprajtami"??

dukat - Nie 26 Mar, 2006 16:16

nie wiem już :( nie działa mi to. :x Gdzie w tym skrypcie jest zawarta instrukcja że obiekt ma sie zatrzymać :?: :?: i kilka pytań
1) Gdzie ma być wpisany skrypt? na klatce; na foto; na sprajtach?
2) czy jest różnica czy będą to linie w spritach czy osobno z przydzieloną nazwa?
3) Możesz pokazać działajacą wersje tego skryptu? Najlepiej plik źródłowy .swi

[ Dodano: Nie 26 Mar, 2006 19:35 ]
nikt nie wie jak to zrobić :?: :?: :shock:

erbe - Nie 26 Mar, 2006 20:59

Oto przykład.


PS. Co wy mi za pier... pod nickiem wypisujecie? :P

dukat - Pon 27 Mar, 2006 06:34

WIELKIE DZIĘKI. w tym moim były dwie różnice: foto nie była spritem i były wpisanie inne wartości w miejscu od dystansu
WiruSSS - Pią 31 Mar, 2006 09:43

...a nie byloby prościej i wydajniej gdyby przy kazdym: on (keyp....
wstawić warunek sprawdzający pozycję obiektu foto??????

damian1424 - Czw 01 Cze, 2006 10:59

a gdzie sie okresla pod ktorymi klawiszami obiekt ma sie poruszyc??

Powered by phpBB modified by Przemo © 2003 phpBB Group