nazwa zmiennej zbudowana z innych zmiennych: _parent.(" |
Autor |
Wiadomość |
maru
Przyjaciel

Pomógł: 2 razy Dołączył: 01 Gru 2006 Posty: 45 Skąd: 3M
|
Wysłany: Czw 29 Lis, 2007 10:58 nazwa zmiennej zbudowana z innych zmiennych: _parent.("
|
|
|
mam problem z nazywaniem zmiennych poniewaz nazwy sie zmieniaja. Chce wyswietlic tekst zawarty w zmiennych ale maja one rozne nazway. Niestety zamist zawartosci zmiennej wyswietla mi sie jej nazwa... jak zbudowac nazwe zmiennej z innych zmiennych?
>> ten element kodu ktory mnie wkurza
obszedlem problem w ten oto lamerski sposob:
Kod: | onLoad () {
loadVariables("podstrony/teksty.txt");
//teksty.txt zawiera zmienna "ile" (ktora okresla ile jest tekstow) oraz poszczegolne teksty pod zmiennymi s1, s2, s3, s4 ,s5...
}
onFrame (3) {
d = 0;
for (i = 2; i <= ile; i++) {
box1.duplicateSprite("box" + i,i);
//doplikowanie boksow w ktorych wyswietlaja sie fotka i tekst
d = d + 140;
tellTarget (("box" + i)) {
_Y = _parent.d;
//przesuwa kolejny zduplikowany box ponizej poprzedniego
foto = _parent.i;
//nazwa fotki do zaladowania
}
}
>> //beznadzieje i lamerstwo ktorego chce sie pozbyc
>> //czyli wczytywanie zmiennych do poszczególnych boxów
>> box1.s = s1;
>> box2.s = s2;
>> box3.s = s3;
>> box4.s = s4;
>> box5.s = s5;
>> box6.s = s6;
//tlo pod boxami dostosowywuje sie do ich ilosci
pas._height = ile * 140;
//usupelnienie danych dla pierwszego boxa
tellTarget (box1) {
foto = 1;
//przenosi sie do pierwszej klatki (tam jest komenda ladowania fotki - zabezpieczenie jesli zmienne sie za wolno ladowaly i komende odrzucono)
gotoAndPlay(1);
}
} |
widzicie o co chodzi. Powyzsze rozwiazanie ogranicza mi ilosc zmiennych do tylu ile wpisze w kodzie (powyzej s6 nie zadziala) a chcialbym by ta ilosc sie zmieniala. ponizej jedna z moich prób obejscia problemu. nieskutecznie. juz na 1000 sposobow probowalem i zawsze w resultacie otrzymuje nazwa zmiennej zamiast jej zawartosci.
Kod: | onLoad () {
loadVariables("podstrony/teksty.txt");
//teksty.txt zawiera zmienna "ile" (ktora okresla ile jest tekstow) oraz poszczegolne teksty pod zmiennymi s1, s2, s3, s4 ,s5...
}
onFrame (3) {
d = 0;
for (i = 2; i <= ile; i++) {
box1.duplicateSprite("box" + i,i);
//doplikowanie boksow w ktorych wyswietlaja sie fotka i tekst
d = d + 140;
tellTarget (("box" + i)) {
//przesuwa kolejny zduplikowany box ponizej poprzedniego
_Y = _parent.d;
//nazwa fotki do zaladowania
foto = _parent.i;
>> //przeniesienie tekstów (zmienne: s1, s2, s3...) do odpowiednich boxów (zmienna z tekstem w boksie to: s)
>> s = _parent.("s" + i )
}
}
pas._height = ile * 140;
//tlo pod boxami dostosowywuje sie do ich ilosci
tellTarget (box1) {
//usupelnienie danych dla pierwszego boxa
foto = 1;
s = _parent.s1;
gotoAndPlay(1);
}
} |
jak to zrobic zeby w kodzie s = _parent.("s" + i ) to co jest w nawiasie nie bylo potraktowane jako tekst tylko jako adres zmiennej??
z gory dzieki za pomoc |
|
|
|
 |
Grzesiek82
Fachowiec


Pomógł: 19 razy Wiek: 42 Dołączył: 08 Maj 2007 Posty: 101 Skąd: Kolbuszowa
|
Wysłany: Czw 29 Lis, 2007 12:45
|
|
|
maru napisał/a: | jak to zrobic zeby w kodzie s = _parent.("s" + i ) to co jest w nawiasie nie było potraktowane jako tekst tylko jako adres zmiennej?? | pisząc o adresie zmiennej, chodzi ci o nazwę ścieżki do obiektu tj. żeby pod zmienną s otrzymać np. coś takiego: _parent.s1 ?
jeśli tak to cos takiego by było:
Kod: | s = "_parent."+("s" + i); |
|
_________________ Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona. - Albert Einstein |
|
|
|
 |
Kermit
Profesjonalista

Pomógł: 9 razy Wiek: 40 Dołączył: 15 Lip 2006 Posty: 176 Skąd: Kraków
|
Wysłany: Nie 02 Gru, 2007 17:38
Moje WWW: www.tsi.f6.pl |
|
|
przede wszystkim oboje robicie bledy w pisowni. oto najlepszy przyklad podstawowego bledu ktory robi wiekszosc ludzi wypowiadajacych sie na tym forum Kod: | s = "_parent."+("s" + i); |
wiecie gdzie lezy blad ? w znakach + ktore sa tutaj nie potrzebne a wrecz nie wskazane znak + stosuje sie tylko i wylacznie kiedy chcemy cos dodac jak np 1 + 1 ale nie kiedy chcemy dolaczyc jeden ciag znakow do drugiego w takich przypadkach stosuje sie add ktore np z czegos takiego 1 add 1 daje nam wartosc 11 a nie 2
poprawnie napisany kod ktory napisal grzesiek powinien wygladac tak Kod: | s = "_parent." add "s" add i; |
|
|
|
|
 |
Grzesiek82
Fachowiec


Pomógł: 19 razy Wiek: 42 Dołączył: 08 Maj 2007 Posty: 101 Skąd: Kolbuszowa
|
Wysłany: Nie 02 Gru, 2007 22:21
|
|
|
Cytat: | przede wszystkim oboje robicie bledy w pisowni. oto najlepszy przyklad podstawowego bledu ktory robi wiekszosc ludzi wypowiadajacych sie na tym forum | powoli kolego, sprawdzałeś mój skrypt ? dla twojej informacji on działa równie dobrze jak ten który ty podałeś to niema znaczenie w tym przypadku.
Kermit napisał/a: | wiecie gdzie lezy blad ? w znakach + ktore sa tutaj nie potrzebne a wrecz nie wskazane znak + stosuje sie tylko i wylacznie kiedy chcemy cos dodac jak np 1 + 1 |
proponuje zaglądnąć do helpa swishmaxa a tam jest takie stwierdzenia:
trace(11 + "22"); // converts both to string because of "22" - nie zauważyłeś że w moim przykładzie nie dodaje dwóch wartości liczbowych do siebie?? dodawana jest tylko wartość liczbowa do ciągu znaków.
Kermit napisał/a: | ale nie kiedy chcemy dolaczyc jeden ciag znakow do drugiego |
patrz help siwshmax przykład:
trace("cat" + " eats dog"); wynik: cat eats dog,jak widać można dołączyć ciag znaków do siebie z użyciem "+" |
_________________ Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona. - Albert Einstein |
|
|
|
 |
maru
Przyjaciel

Pomógł: 2 razy Dołączył: 01 Gru 2006 Posty: 45 Skąd: 3M
|
Wysłany: Pon 03 Gru, 2007 12:30
|
|
|
problem leży troszke gdzie inedziej.
znam różnice miedzy "+" i "add" i namiętnie czytam helpa:)
sprobuje jeszcze raz wytłumaczyć problem:
_parent.s1 jest adresem pod którym znajduje sie tekst (oczywiscie to samo dotyczy s2, s3 itd)
chcialbym aby wyswietlony zostal ten tekst. jak wpisze poprostu"
Kod: | for (i = 2; i <= ile; i++) {
box1.duplicateSprite("box" + i,i);
tellTarget (("box" + i)) {
>> s = _parent.s1; <<
} |
to wyswietla mi sie tekst spod zmiennej s1 tak jak tego oczekuje (w spricie "box" ktory zostaje zduplikowany "ile" razy jest pole tekstowe wyswietlajace "s").
ale jak zrobie tak zeby bylo dodac "_parent.s" do "i" to zamiast tekstu wyswietla mi sie "s1", "s2", "s3" albo nawet "_parent.s1", "_parent.s2", "_parent.s3)".
wypróbowałem wszystkie sposoby dodania tego "i" i zawsze to samo:( czy uzyje "+" czy "add" czy z nawiasami czy bez... macie jeszcze jakies pomysły?
dodaje plik, może ktoś się skusi zajżeć. |
|
|
|
 |
Grzesiek82
Fachowiec


Pomógł: 19 razy Wiek: 42 Dołączył: 08 Maj 2007 Posty: 101 Skąd: Kolbuszowa
|
Wysłany: Pon 03 Gru, 2007 12:52
|
|
|
maru napisał/a: | _parent.s1 jest adresem pod którym znajduje sie tekst (oczywiscie to samo dotyczy s2, s3 itd) | czyli s1, s2 itd. są polami tekstowymi ? są one tworzone dynamicznie czy już z góry zdefiniowane ? |
_________________ Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona. - Albert Einstein |
|
|
|
 |
Kermit
Profesjonalista

Pomógł: 9 razy Wiek: 40 Dołączył: 15 Lip 2006 Posty: 176 Skąd: Kraków
|
Wysłany: Pon 03 Gru, 2007 13:08
Moje WWW: www.tsi.f6.pl |
|
|
no i prosze. maru okazal sie byc jedna z tych osob ktore mysla ze ukradniemy jego wspaniamy pomysl i uzyjemy przy wlasnych projektach. wytlumacz mi po co dales pliki html, swf i txt skoro problem lezy w pliku swi? |
|
|
|
 |
maru
Przyjaciel

Pomógł: 2 razy Dołączył: 01 Gru 2006 Posty: 45 Skąd: 3M
|
Wysłany: Wto 04 Gru, 2007 10:58
|
|
|
oj hahaha niechcacy.
juz wyslam swi krasc?... no moze kogos zainteresuje "wirtualny" scroll. Prosze bardzo bierzcie i uzywajcie:)
_____________
Nie umiem tworzyc pol ktore mialy by dynamicznie zmieniana zmienna ktora maja wyswietlac. Pole tekstowe wyswietla zmienna "s" a znajduje sie w spritach o kolejno ponumerowanych nazwach. Zreszta co bede sie rozwijal - w pliku sa tylko najwazniejsze sprity wiec niema balaganu, zagladajcie prosze i pomozcie. Bo juz ktorys raz z koleji trafiam na ten sam problem i mam dosc:P
dzieki:) |
|
|
|
 |
Grzesiek82
Fachowiec


Pomógł: 19 razy Wiek: 42 Dołączył: 08 Maj 2007 Posty: 101 Skąd: Kolbuszowa
|
Wysłany: Wto 04 Gru, 2007 14:03
|
|
|
Udało mi się coś takiego wykombinować, powinno działać:)
Kod: | onFrame (3) {
tellTarget (box1) {
foto = 1;
gotoAndPlay(1);
}
d = 0;
for (i = 2; i <= ile; i++) {
box1.duplicateSprite("box" + i,i);
d = d + 140;
s = eval("s" + i);
tellTarget (("box" + i)) {
_Y = _parent.d;
foto = _parent.i;
s = _parent.s;
}
}
box1.s = s1; // niewiem dlaczego ale pierwszej zmiennej "s1" skrypt niechce ładować, wiec jest tak to rozwiązane i sobie wszystko działa
} |
|
_________________ Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona. - Albert Einstein |
|
|
|
 |
maru
Przyjaciel

Pomógł: 2 razy Dołączył: 01 Gru 2006 Posty: 45 Skąd: 3M
|
Wysłany: Wto 04 Gru, 2007 14:36
|
|
|
Wiem czemu nie łyka pierwszej ale nie bede sie o tym rozpisywal bo to drobny problem i daje sie rozwiązać.
Nie sprawdziłem:P ale na oko widze, że działa;)
Dzieki za dobry pomysl:) Czemu ja o tym nie pomyślałem? no czemu?? hehe |
|
|
|
 |
|