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

SWiSH Max - Wyśrodkowanie obrazu łądowanego z zew. pliku... help :)

dariushp - Pon 12 Lis, 2007 18:08
Temat postu: Wyśrodkowanie obrazu łądowanego z zew. pliku... help :)
Witam...
Mam pytanko...
Jak zrobić, aby ładowany obraz z zew. jpg byl ladowany zawsze na środku...
Mam shape`a w kształcie kwadratu do ktorego ładowane są jpg`i, jednak anchor jest ustawiony na top left i wszystkie fotki pojawiaja sie wyrownane do gornego lewego naroznika...
Jak zrobic zeby fotka zawsze byla na srodku, nie zaleznie czy bedzie to zdjęcie pionowe, czy poziome...

Proszę o pomoc :)

Pozdrówki

Grzesiek82 - Pon 12 Lis, 2007 18:18

Zmienić anchor point z "top left" na "center" ??
dariushp - Pon 12 Lis, 2007 18:31

Hehehe to byloby zbyt piekne...
Jak ustawie anchora na center to lewy gorny naroznik zdjecia bedzie w srodku mojego shape a co za tym idzie zdjecie nie zmiesci sie w tym obszarze i bedzie obciete...

Seb - Pon 12 Lis, 2007 19:23

mhm, to fakt, bedzie obcinać

jeśli masz mało do wrzucenia fotek to moze oddzielne swf'y?
jak nie to AS z centrami, ale tego pytać większych stażem:)

Grzesiek82 - Pon 12 Lis, 2007 20:22

Udało mi się stworzyć skrypt który powinien rozwiązać problem
Kod:
onFrame (1)
{
   center.loadMovie("srodek.jpg");
}
onframe(2)
   
{
    szerokosc=center._width;
    wysokosc=center._height;
    center._x=szerokosc/-2;
    center._y=wysokosc/-2;
    stop();
}

w spricie w którym ma się znajdować skrypt trzeba sobie stworzyć shape'a w tym wypadku o nazwie "center". Działanie skryptu polega na pobraniu wartości z rozdzielczości załadowanego jpg'a a następnie, na podstawie tych wartości wyliczenia przesunięcia miejsca w, którym ów jpg ma sie załadować - jakoś tak :)
Przykład w załączniku.

dariushp - Wto 13 Lis, 2007 21:47

Stary super wszystko fajnie i pieknie
Ale w ogole bylo by zajebiscie gdybys jeszcze mi powiedzial jak to zastosowac do obrazu ładowanego ze zmiennej..Mam taki skrypt ale on niestety nie dziala :

onLoad () {
center.loadVariables("imagelist.txt");

center.loadMovie(img2);
onEnterFrame = function() {




if (center._width > 0 and center._height > 0)
{
if (center._width>center._height)
{
var zmienna = center._width;
center._yscale = ((80*100)/zmienna);
center._xscale = ((80*100)/zmienna);
delete onEnterFrame;

}
else
{
var zmienna = center._height;
center._yscale = ((80*100)/zmienna);
center._xscale = ((80*100)/zmienna);
delete onEnterFrame;
}
}


szerokosc=center._width;
wysokosc=center._height;
center._x=szerokosc/-2;
center._y=wysokosc/-2;

};
}

Prosze...Pomoz ;]
Pozdrowki

Grzesiek82 - Wto 13 Lis, 2007 23:19

A wiec tak skrypt musi sie składać w tym wypatku z trzech "bloków" czyli onload(), onframe(2), onframe(3):
Kod:
onload()
{
    loadVariables("image.txt");
}
ładujemy listę ze zmiennymi
Kod:
onFrame (2)

    center.loadMovie(zmienna);
}
w tej klatce wczytujemy jpg dzięki czemu możemy poznać jego rozdzielczość
Kod:
onFrame (3)
{
    szerokosc=center._width;
    wysokosc=center._height;
    center._x=szerokosc/-2;
    center._y=wysokosc/-2;
}
no i wreszcie w tej klatce wyśrodkowujemy zdjęcie na podstawie jego rozdzielczości.

Przykład w załączniku

dariushp - Sro 14 Lis, 2007 15:52

wszystko cacy tylko znow problem :)
W podglądzie wszystko działa, w przegladarce niestety nie :(
Co moze byc tego powodem ??

Grzesiek82 - Sro 14 Lis, 2007 16:08

dariushp napisał/a:
W podglądzie wszystko działa, w przegladarce niestety nie
dziwna sprawa u mnie w przeglądarce to działa....
dariushp - Sro 14 Lis, 2007 16:34

Kurna stary jestes wielki chcialem Ci powiedziec bo na prawde mi pogleś...Pozostaje ostatni problem z ta przegladarka...;/
Grzesiek82 - Sro 14 Lis, 2007 17:05

Możliwe że problem istnieje dlatego, że zmienił sie też timeline dla sprita "kontener" który uległ zmianie w stosunku do przykładu pierwszego kiedy to niebylo ładowania z pliku .txt, a wiec powinien wyglądać tak:

gdzie na pierwsze dwie klatki dajemy Remove a na trzeciej Place dodatkowo ustawiając akcje stop na 3 klatce.

dariushp - Czw 15 Lis, 2007 21:55

Stary w ogole wyszla nam z tego masakra...jak mozesz to podaj mi Swoje gg to ci opisze problem...bo jest on teraz juz wielki...ale naprawde dziekiw wielkie za wszystko bo i tak na prawde duzo pomogles...pozdrawiam
Archon - Pią 16 Lis, 2007 23:40

tak fajnie to opisaliscie i wszystko gitara a ja mam wlasnie z tym problem. mam pliki umieszczone na serwerze, laduje je pojedynczo do sprite'ow:

przykladowy_sprite.loadmovie("gldgkdflgd");

ale mi sie on w ogole nie pokazuje. tak jakby go nie bylo. w debugu niby laduje plik, nom ale nie wiem jak go pokazac (wyswietlic).. moze nie powinienem ladowac do sprite'a? nie mam pojecia.. wie ktos ocb?

dariushp - Sob 17 Lis, 2007 16:16

sprawdz czy obrazy ktore łądujesz nie są przypadkiem progresywne o ile chodzi TObie o ładowanie jpg.ów...
Swish nie radzi sobie z progresywnymi jpg`ami...
Sprawdź też czy masz poprawna ścieżke do pliku i czu anchor point masz ustawiony na Top left


Powered by phpBB modified by Przemo © 2003 phpBB Group