TO_mek Opublikowano 8 Marca 2011 Udostępnij Opublikowano 8 Marca 2011 Już przysypiam i pewnie pytanie będzie banalne. Jak uzyskać z liczby całkowitej liczbę heksadecymalna którą później chcę zapisać jako string. Czyli taki kawałek kodu: GML for (i=0; i<12; i+=1) { tlo:=working_directory+"\gotowe\"+string(i)+string('.png'); aaa=background_replace(tlogm, tlo, 0, 1); draw_background(tlogm,0,218+(i*125)); } tlo ma mieć ścieżkę w postaci "working_directory\gotowe\(i).png", gdzie i ma przyjmować wartości 0,1,2,3,4,5,6,7,8,9,A,B,C (oczywiście bez tych nawiasów). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Marca 2011 Administratorzy Udostępnij Opublikowano 8 Marca 2011 GML string_char_at("0123456789ABC",i); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 8 Marca 2011 Udostępnij Opublikowano 8 Marca 2011 GML wynik = ""; while(a>0) { r = a mod 16; a = floor(a/16) if(r==10) s="A"; else if(r==11) s="B"; else if(r==12) s="C"; else if(r==13) s="D"; else if(r==14) s="E"; else if(r==15) s="F"; else s=string(r); wynik+=s; } W zmiennej wynik masz teraz liczbę a w systemie szesnastkowym. Ale zapisaną od tyłu. Nie pamiętam czy była funkcja na odwracania stringa, a pisać mi się jej nie chce. Z tym sobie poradzisz. Może oczywiście to zrobić bez tych ifów, ale w ten sposób będzie bardziej dla ciebie zrozumiałe. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 9 Marca 2011 Administratorzy Udostępnij Opublikowano 9 Marca 2011 A od przodu to nie będzie czasem: GML wynik = s + wynik; Cały skrypt: GML (intToHex) var _a,_w,_r; _w = ''; _a = round(argument0); while ( _a > 0) { _r = _a mod 16; _a = floor(_a/16); if _r < 10 then _w = string(_r) + _w else _w = chr( 55 + _r) + _w; } return w; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 9 Marca 2011 Udostępnij Opublikowano 9 Marca 2011 A od przodu to nie będzie czasem: GML wynik = s + wynik; Ale ja jestem tępy. Senność robi swoje : ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się