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

SWiSH Max - czary :/

shastaan - Sro 25 Mar, 2009 23:27
Temat postu: czary :/
Proszę ja was, mam zagadkę, która spędza z powiek moich i kolegi sen od czasu już jakiegoś.

Nie ze złośliwości a z ciekawości postanowiłem spędzić sen i z waszych...

W załączniku dwa pliki.

Uproszczony moving pixels z swishzone.com oraz jego kopia zrobiona najwierniej jak moja wiedza pozwala.

Czyms się jednak różnią. Nawet rozmiar pliku jest inny. No i jeden działa a drugi nie.

Powiedzcie mi dlaczego...

Podpowiadam, że plik przestaje działać jak się go zmieni na SWF8
Czy to możliwe, że skrypt dziala w starej wersji swf a nie dziala w nowej?

sl01k - Czw 26 Mar, 2009 00:04

2.swi tez dziala ale tylko do exportu dla swf6

a zeby dzialalo tak jak miales czyli do swf7 kod powwinien wygladac tak:
Kod:
onSelfEvent (load) {
    defaultX = _x;
    defaultY = _y;
    magnet = 400;
}
onSelfEvent (enterFrame) {
    X0 = this._x;
    Y0 = this._y;
    X1 = _root._xmouse;
    Y1 = _root._ymouse;
    rangeX = X1-X0;
    rangeY = Y1-Y0;
    range= Math.sqrt(rangeX*rangeX+rangeY*rangeY);
    powerX = _x-rangeX/range*magnet/range;
    powerY = _y-rangeY/range*magnet/range;
    forceX = (defaultX-X0)/2/1.660000;
    forceY = (defaultY-Y0)/2/1.660000;
    _x = powerX+forceX;
    _y = powerY+forceY;
}
nie pytaj dlaczego... :) ... AS z wersji na wersje jest inaczej czytany tyle moge powiedzec :)

shastaan - Czw 26 Mar, 2009 02:00

Pięknie dziękuję.
Udało mi się zrozumieć (dzięki Tobie i koledze)
Udało nam się uzyskać to o co chodziło po drobnej modyfikacji skryptu:

Kod:
onSelfEvent (load) {
    defaultX = _x;
    defaultY = _y;
    magnet = 4000;
    A = 10
    B = 10
}
onSelfEvent (enterFrame) {
    X0 = this._x;
    Y0 = this._y;
    X1 = _root._xmouse;
    Y1 = _root._ymouse;
    rangeX = X1-X0;
    rangeY = Y1-Y0;
    range= Math.sqrt(rangeX*rangeX+rangeY*rangeY);
    powerX = _x-rangeX/range*magnet/range;
    powerY = _y-rangeY/range*magnet/range;
    forceX = (A+(defaultX-X0)/1.5)/1.66000;
    forceY = (B+(defaultY-Y0)/1.5)/1.66000;
    _x = powerX+forceX;
    _y = powerY+forceY;
    A = forceX
    B = forceY
}


Modyfikując te wartości możesz mocniej modyfikować efekt.

innovate - Nie 05 Kwi, 2009 08:59

A ja mam pytanie dodatkowe...

Gdzie można poczytać o różnicach pomiędzy eksportem do różnych wersji??? Niestety dokumentacja swisha i książka p. Rolanda traktuje skrypt powiedzmy nieco, hmm... pobieżnie.

Próbuję pisać różne rzeczy w skrypcie i to co jest najbardziej uciążliwe to strasznie słabe sygnalizowanie błędów (ale to jest konsekwencja braku wymogu deklaracji zmiennych) i w zasadzie brak dokumentacji :-/

W tej chwili mam dokładnie ten sam problem: mój skrypt działa w eksporcie do SWF7, ale już nie do SWF8 czy 9. W wersji 8 została podobno dodana obsługa PNG z której chciałbym skorzystać ale nie mogę.

[ Dodano: Pon 06 Kwi, 2009 01:13 ]
Ok, chyba mam różnicę, napiszę może komuś się przyda:

W wersji 8 nowy klip utworzony przy pomocy duplicateMovieClip jest domyślnie ukryty, trzeba zmienić _visible na true.


Powered by phpBB modified by Przemo © 2003 phpBB Group