Filar Społeczności Czołg Krymski Opublikowano 30 Września 2012 Filar Społeczności Udostępnij Opublikowano 30 Września 2012 Witam! Biorę się za optymalizację w swojej grze i jak zwykle padam. Otóż mam na przykład w jakimś obiekcie GML tex = sprite_get_texture(dab,0); i gdy zbliżymy się na jakąś odległość wtedy GML tex = sprite_get_texture(dab2,0); a gdy oddalimy się wtedy znów GML tex = sprite_get_texture(dab,0); jakieś pomysły? Z pagórka dzięki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 30 Września 2012 Udostępnij Opublikowano 30 Września 2012 Co to do jasnej cholery ma być? Widzisz w swoim poście jakiekolwiek dobrze sformułowane pytanie? Strzelam że chodzi Ci o zwykłe: GML if(point_distance(player.x,player.y,objekt.x,objekt.y)<100) {tex = sprite_get_texture(dab2,0);} else {tex = sprite_get_texture(dab,0);} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Czołg Krymski Opublikowano 30 Września 2012 Autor Filar Społeczności Udostępnij Opublikowano 30 Września 2012 Co to do jasnej cholery ma być? Widzisz w swoim poście jakiekolwiek dobrze sformułowane pytanie? Strzelam że chodzi Ci o zwykłe:GMLif(point_distance(player.x,player.y,objekt.x,objekt.y)<100) {tex = sprite_get_texture(dab2,0);} else {tex = sprite_get_texture(dab,0);} no tak, sorka, z pośpiechu zawsze wychodzą mi takie dyrdymały ;D wszystko pięknie działa, dzięki :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 30 Września 2012 Udostępnij Opublikowano 30 Września 2012 sprite_get_texture i backgrund_get_texture tak się nie używa tzn. w drawie czy stepie bo to nieoptymalne nontoper convertować. wszystkie textury wczytaj jednorazowo do zmiennych globalnych. Niech robi to tylko jeden obiekt ładujący wszystkie zasoby. Create: GML globalvar gTex; gTex[0,0] = sprite_get_texture(dab,0); gTex[0,1] = sprite_get_texture(dab2,0); // jakaś inna texturka gTex[1,0] = sprite_get_texture(trawa,0); gTex[1,1] = sprite_get_texture(trawa2,0); // itd</span></span> Dla ułatwienia sobie jeszcze roboty z zapamiętywaniem indexów możesz wykorzystać customowe stałe ALT+N chyba. Wtedy: GML globalvar gTex; gTex[c_dab,0] = sprite_get_texture(dab,0); gTex[c_dab,1] = sprite_get_texture(dab2,0); // jakaś inna texturka gTex[c_trawa,0] = sprite_get_texture(trawa,0); gTex[c_trawa,1] = sprite_get_texture(trawa2,0); // itd</span></span> Draw: GML if ( point_distance(player.x,player.y,objekt.x,objekt.y) < 100 ) d3d_draw_block(x1, y1, z1, x2, y2, z2, gTex[c_dab, 1], hrepeat, vrepeat); else d3d_draw_block(x1, y1, z1, x2, y2, z2, gTex[c_dab, 0], hrepeat, vrepeat); 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ę