 |
SWiSH Forum
Forum użytkowników programów SWiSH
|
skrypt w petli for nie dziala tak jak bym sie spodziewal. |
Autor |
Wiadomość |
maru
Przyjaciel

Pomógł: 2 razy Dołączył: 01 Gru 2006 Posty: 45 Skąd: 3M
|
Wysłany: Nie 08 Kwi, 2007 16:42 skrypt w petli for nie dziala tak jak bym sie spodziewal.
|
|
|
witam,
postaram sie rzeczowo pisac:
petla wykonuje sie poprawnie ale efekt nie jest taki jak bym sobie zyczyl. W debagu sprawdzilem i wykonuje sie kod dla wszystkich elementow a dziala tak jakby wykonywal sie tylko dla ostatniego elementu w pentli.
zmienna "a" pobierana z roota okresla ile razy wykonac petle, jest to ilosc spritow ("wall1", "wall2"..."wall a"). Cel jest taki zeby sprawdzic czy zaden ze spritow nie dotyka obiektu w ktorym wykonuje sie petla. niestety dziala tylko wobec ostatniego obiektu czyli obiektu o numerze ze zmiennej "a".
Kod: |
onLoad () {
a = _root.a;
}
onEnterFrame(includingFirstFrame) {
//trzymanie wyznaczonego boku sensora
this._x = _parent.playerf._x;
this._y = _parent.playerf._y - _root.speed;
//zdezenia
for (i = 0; i <= a; i++) {
if (isNearTarget("_parent.wall" add i)) {
_root.u = "stop";
} else {
_root.u = 1;
}
}
}
|
pewnie widac ze to gierka;) "wall" to sciany, "speed" okresla o ile pixeli za jednym nacisnieciem strzalki porusza sie postac, w tym miejscu speed okresla o ile ma byc wysuniety sensor. Postac ma sensory po czterech stronach swiata (powyzszy kod jest kodem gornego sensora) ktore gdy dotkna sciany w "u" wstawiaja "stop", taki stop wlacza animacje udezenia sie w sciane. tylko problem w tym ze ten kod jest lewy i moj ludek wali glowa tylko w jedna ze scian... na wydawalo mi sie ze taki kod zbada czy w poblizu niema ktorejkolwiek ze scian.
tu wstawiam ten kawalek kodu ktory mi nawala:
Kod: | for (i = 0; i <= a; i++) {
if (isNearTarget("_parent.wall" add i)) {
_root.u = "stop";
} else {
_root.u = 1;
} |
dzieki za help
[ Dodano: Nie 08 Kwi, 2007 19:04 ]
jakas lipa totalna zrobilem odwrotke czyli sciany wykrywaja postac a nie postac sciany i tu tez lipa. te kopie spritow czyli instance nie wykonuja zadnego kodu;/ zaplacze sie. |
|
|
|
 |
smok3n
Praktyk

Pomógł: 3 razy Dołączył: 06 Sie 2009 Posty: 23 Skąd: Lublin
|
Wysłany: Pią 15 Sty, 2010 19:45
|
|
|
Witam, ja mam podobny problem, skryptu nie będę przedstawiał, ale opisze to słowami : pętla for .. nie potrafi zmieniać położenia obiektu kilku mc na raz. Nie wiem co jest powodem tego :[ proste obliczenia potrafi zrobić, z duplicate.. też se radzi, ale jak chce zmienić położenie kilku obiektów za jednym zamachem to niestety padaka,
... dane sprawdzona, petla wg mnie powinna chodzic normalnie, a tu lipa :[
probowałem z while to samo, może zrobie na kilku scenach z powrotem, ale wtedy to mi sie to wywroci do gory nogami :[
Cytat: | Pamiętaj, że pętle nie są narzędziem do animowania MovieClipów lub wykonywania czynności które są oparte na czasie , dlatego myśl o pętlach, jakby były one wykonywane "natychmiast". Za pomocą pętli nie zmienisz "płynnie" koloru klipu, jego położenia, przezroczystości czy rozmiaru gdyż pętle nie do tego służą. Do manipulacji właściwościami MovieClipów służy setInterval oraz detektor obsługi zdarzeń MovieClip.onEnterFrame() co było szeroko i niejednokrotnie omawiane na forum |
|
_________________ Smok3n |
|
|
|
 |
|
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
|
|
|
|
|
|
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.07 sekundy. Zapytań do SQL: 10 |
|
|