SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Zoom sprit'a wzgl. srodka sceny bez wzgl. na jego polozenie?
Autor Wiadomość
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Czw 22 Cze, 2006 20:34   Zoom sprit'a wzgl. srodka sceny bez wzgl. na jego polozenie?

Witajcie.
Dlubie w Swishu juz jakis czas, probuje zrobic interaktywna mape. Mam problem.
Gdy zoomuje (_xsize, _ysize podpiete do batona) sprite'a, to wiadomo, odbywa sie to wzgledem punktu "anchor" ( u mnie lezy on w centrum sprite'a). W zwiazku, ze ma to byc mapa, to uzywam drag do przesuwania mapy i teraz zaczynaja sie schody. Mianowicie, jesli przesune mape (sprite'a z mapa), to zmienia sie polozenie anchora i centrum zoomowani jest gdzies np. poza scena. jednym slowem do bani. Jak zrobic, aby zoom zawsze byl wzgledem srodka sceny bez wzgledu na polozenie (przesuniecie) mapy?
_________________
Pozdrawiam
 
     
^buber 


Pomógł: 18 razy
Wiek: 50
Dołączył: 29 Sty 2006
Posty: 116
Skąd: LOL
Wysłany: Pią 23 Cze, 2006 08:50   

zapodaj plik swi
cya
 
     
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Pią 23 Cze, 2006 10:26   

Prosze bardzo, tutaj plik:

http://members.lycos.co.u...test_zoom_1.swi
_________________
Pozdrawiam
 
     
^buber 


Pomógł: 18 razy
Wiek: 50
Dołączył: 29 Sty 2006
Posty: 116
Skąd: LOL
Wysłany: Sob 24 Cze, 2006 09:47   

chyrus niestety zadanie mnie przeroslo :evil: dzisiaj jeszcze powalcze ale widze to w ciemnych barwach;)
 
     
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Sob 24 Cze, 2006 15:09   

Zrobilem, juz dziala :|-D Ale analiz matematycznych, kombinacji zapisanych kartek wyszla cala masa !tragedia w efekcie wyszedl malusi wzorek :)
_________________
Pozdrawiam
 
     
MBabelek 
Profesjonalista



Pomógł: 14 razy
Dołączył: 27 Sty 2005
Posty: 175
Skąd: Wrocław
Wysłany: Nie 25 Cze, 2006 09:22   

Jak zrobiłeś i działa, to sie podziel z innymi, bo za chwile nowy - inny user będzie szukał rozwiązania i załozy podobny temat.
_________________
Nie dziękuj - wystarczy, że klikniesz na Pomógł
 
     
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Nie 25 Cze, 2006 10:45   

Dziala zoom in, teraz walcze z zoom out. Inne wzory :/
_________________
Pozdrawiam
 
     
tom3103
Początkujący


Dołączył: 10 Gru 2005
Posty: 8
Wysłany: Wto 25 Lip, 2006 16:46   

chyrus możesz się podzielić tym co zrobiłeś?
 
     
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Wto 01 Sie, 2006 16:37   

No więc tak:

if (mc._xscale == 300) {
mc._x = (mc._x - xscene/2)/2 + mc._x;
mc._y = (mc._y - yscene/2)/2 + mc._y;
}
if (mc._xscale == 400) {
mc._x = (mc._x - xscene/2)/3 + mc._x;
mc._y = (mc._y - yscene/2)/3 + mc._y;
}

i tak dla 500 będzie /4, dla 600 będzie /5 itd.
xscene, yscene są to zmienne zawierające dł. i szer. mojej sceny mc jest moim spritem, którego początkowa skala wynosi 100 (100%) i jego długość i szer. są równe scenie

kum?:)
_________________
Pozdrawiam
 
     
stefcio 
Ekspert



Pomógł: 24 razy
Wiek: 33
Dołączył: 14 Lut 2006
Posty: 530
Skąd: wawa
Wysłany: Wto 01 Sie, 2006 21:16   

nawet nie podejrzewalem , że mogą być takie opcje jak xscene:))

to moze jest jeszcze xuser i yuser :) )
_________________
Stefan
Kliknij na przycisk Pomógł--jak ci pomogłem:))
 
 
     
chyrus 
Bywalec


Dołączył: 22 Cze 2006
Posty: 19
Skąd: Jelenia Góra
Wysłany: Wto 01 Sie, 2006 23:02   

xscene i yscene, to są moje zmienne :>
np:
xscene = 400;
yscene = 300;

Tworzę na początku zmienne, aby nie powtarzać wartości. Zmienię rozmiar sceny i co, wszystko do poprawki by było.

:>
_________________
Pozdrawiam
 
     
jaqb
Początkujący


Dołączył: 12 Kwi 2007
Posty: 3
Skąd: Poland
Wysłany: Pią 13 Kwi, 2007 10:18   

A czy nie lepiej jest użyć:
Stage.width dla x
Stage.height dla y?

I pytanko: jak doszedłeś do tego wzoru? Zmieniłem troche go i tak:


mc._x = (mc._x - Stage.width/2)/((mc._xscale/100) - 1) + mc._x;
mc._y = (mc._y - Stage.height/2)/((mc._yscale/100) - 1) + mc._y;

i wszystko jest okej ale tylko dla skalowania 100, 200, 300... Niestety rozjeżdża się przy innych wartościach np. 150.


Pozdrawiam
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

SWiSH - Create Flash animaton the easy way

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.08 sekundy. Zapytań do SQL: 9