Milord Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 Cześć wszystkim mam taki problem i teraz się przypatrzyłem. opisze o co chodzi: Zaczynam sobie grę plansza pierwsza z 5 życiami,bo tyle sobie ustawiłem..no i np tam stracę w tej planszy życie jedno,czy tam więcej.. przechodzę później do kolejnej planszy i zamiast mieć tą ilość żyć co w pierwszej planszy(czyli pomniejszoną o tyle ile straciłem),to ja znowu mam 5 żyć.. jak to naprawić? mam to w tym obiekcie,co umieszczony mam na planszy tu mam i hud itp rzeczy tu create obiektu kontroler,oczywiście ten obiekt mam ustawiony na persistent create GML ///Ustawienia globalne image_speed = 0; global.watch = 0; //Ustawiamy globalnie na 0 w celu ich dalszego sumowaniu umozliwjajacego przejscie do nastepnej planszy po zebraniu ich odpowiedniej ilosci global.pScore = 0; global.life = 5; global.coins = 0; global.Saved = true; globalvar spawnX, spawnY; ///Widok globalvar gvX, gvY, gvW, gvH, gvObj, gvOffX, gvOffY; gvX = view_xview[0]; gvY = view_yview[0]; gvW = view_wview[0]; gvH = view_hview[0]; gvObj = view_object[0]; gvOffX = 0; gvOffY = 0; ///HUD hpHUD = 0; maxHpHUD = 0; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 Obiekt zapewne masz w każdym roomie? W create jeżeli dałeś to life będzie miało z powrotem wartość 5 CO CREATE OBIEKTU, czyli przy starcie każdego roomu który ten obiekt zawiera ;) Daj to w game start, albo ew. zrób osobny obiekt który będzie tylko w pierwsze planszy ;) Kolejną opcją jest też np create code PIERWSZEGO roomu-levelu :) @e: dobra, nie wiem do końca jak działa persistant obiektu, teraz dopiero doczytałem. To ciekawe trochę, bo niby w każdym roomie masz inną instancję tego obiektu :/ W każdym bądź razie wychodzi na to, że jestem nie douczony, bo kiedyś tylko roomy mogły być presistant, a nowości dopiero staram się nadrobić :P Jedyne co mogę podpowiedzieć w takim razie to spróbuj zrobić to "staromodnie", bo przy persistant obiektu niestety zbyt wiele nie pomogę, bo dopiero teraz z Twojego postu się dowiedziałem, że takie coś istnieje xD Widzę, że muszę jeszcze wiele nowości nadrobić, choć z drugiej strony ja po prostu chyba wolę robić to starymi, sprawdzonymi metodami jeżeli nie wpływa to jakość specjalnie źle na optymalizację ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Milord Opublikowano 13 Października 2015 Autor Udostępnij Opublikowano 13 Października 2015 Obiekt zapewne masz w każdym roomie? W create jeżeli dałeś to life będzie miało z powrotem wartość 5 CO CREATE OBIEKTU, czyli przy starcie każdego roomu który ten obiekt zawiera ;) Daj to w game start, albo ew. zrób osobny obiekt który będzie tylko w pierwsze planszy ;) Kolejną opcją jest też np create code PIERWSZEGO roomu-levelu :) @e: dobra, nie wiem do końca jak działa persistant obiektu, teraz dopiero doczytałem. To ciekawe trochę, bo niby w każdym roomie masz inną instancję tego obiektu :/ W każdym bądź razie wychodzi na to, że jestem nie douczony, bo kiedyś tylko roomy mogły być presistant, a nowości dopiero staram się nadrobić :P Jedyne co mogę podpowiedzieć w takim razie to spróbuj zrobić to "staromodnie", bo przy persistant obiektu niestety zbyt wiele nie pomogę, bo dopiero teraz z Twojego postu się dowiedziałem, że takie coś istnieje xD Widzę, że muszę jeszcze wiele nowości nadrobić, choć z drugiej strony ja po prostu chyba wolę robić to starymi, sprawdzonymi metodami jeżeli nie wpływa to jakość specjalnie źle na optymalizację ;p Tak wszędzie ma ten obiekt w każdym pokoju No tak persistant,ale zawsze mogę odznaczyć;) dobrze po kolei co mam zrobić stworzyć drugi pusty obiekt? i wrzucić go do drugiej planszy;)? ale co to da;)? o i zauważyłem,że mam ta samą sytuacje z punktami czyli global.score z monetami global.coins tak samo jak życia..życia w nowej planszy są cały czas 5 a punkty i monety zamiast mi zliczać do kolejnej planszy,to mi je zeruje...mam na zero..no kurcze ech MaxGaminng ratuj..mogę i twój sposób zastosować aby zadziałało.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 Jeżeli zrobimy to "po staremu", bez persistant to: 1. Usuń(wytnij) definiowanie zmiennych z create tego obiektu który zajmuje się też HUD itp.. 2. Stwórz nowy, pusty obiekt i postaw go tylko w pierwszej planszy. 3. Wklej w jego create(tego nowego obiektu) definicje zmiennych. Lub wersja która powinna być ciut bardziej optymalna: 1. Usuń(wytnij) definiowanie zmiennych z create tego obiektu który zajmuje się też HUD itp.. 2. Wejdź w room z pierwszą planszą. 3. Zakładka Settings>Creation Code 4. Wklej tam kod definicji zmiennych. 4.1. Nie powtarzaj dla innych roomów! Czyli wklejasz to w creation code tylko pierwszego levelu ;) Persistant możesz odznaczyć, bo nie wiem jak ono wpływa na instancje. Podejrzewam, że może działać tylko wewnątrz danego roomu, jakbyś chciał do niego powrócić to instancja zachowa swoje właściwości wtedy. Ale to tylko podejrzenia, a żeby wiedzieć na pewno trzeba poczytać dokumentację ;p Dla pewności, więc odznacz lepiej, chyba że Ty wiesz jak dokładnie to działa i to wykorzystujesz.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Milord Opublikowano 13 Października 2015 Autor Udostępnij Opublikowano 13 Października 2015 Jeżeli zrobimy to "po staremu", bez persistant to: 1. Usuń(wytnij) definiowanie zmiennych z create tego obiektu który zajmuje się też HUD itp.. 2. Stwórz nowy, pusty obiekt i postaw go tylko w pierwszej planszy. 3. Wklej w jego create(tego nowego obiektu) definicje zmiennych. Lub wersja która powinna być ciut bardziej optymalna: 1. Usuń(wytnij) definiowanie zmiennych z create tego obiektu który zajmuje się też HUD itp.. 2. Wejdź w room z pierwszą planszą. 3. Zakładka Settings>Creation Code 4. Wklej tam kod definicji zmiennych. 4.1. Nie powtarzaj dla innych roomów! Czyli wklejasz to w creation code tylko pierwszego levelu ;) Persistant możesz odznaczyć, bo nie wiem jak ono wpływa na instancje. Podejrzewam, że może działać tylko wewnątrz danego roomu, jakbyś chciał do niego powrócić to instancja zachowa swoje właściwości wtedy. Ale to tylko podejrzenia, a żeby wiedzieć na pewno trzeba poczytać dokumentację ;p Dla pewności, więc odznacz lepiej, chyba że Ty wiesz jak dokładnie to działa i to wykorzystujesz.. no dobra to z tego globalnego obiektu kontroler wycinam tylko definiowanie zmiennych,a reszte zostawiam bez zmian łącznie z hud itp elementami;D? czekaj podeśle Ci kod całego mojego obiektu kontroler Create GML ///Ustawienia globalne image_speed = 0; global.watch = 0; //Ustawiamy globalnie na 0 w celu ich dalszego sumowaniu umozliwjajacego przejscie do nastepnej planszy po zebraniu ich odpowiedniej ilosci global.pScore = 0; global.life = 5; global.coins = 0; global.Saved = true; globalvar spawnX, spawnY; ///Widok globalvar gvX, gvY, gvW, gvH, gvObj, gvOffX, gvOffY; gvX = view_xview[0]; gvY = view_yview[0]; gvW = view_wview[0]; gvH = view_hview[0]; gvObj = view_object[0]; gvOffX = 0; gvOffY = 0; ///HUD hpHUD = 0; maxHpHUD = 0; End step GML ///Widok if view_wview[0] != gvW || view_hview[0] != gvH { var tempW, tempH; tempW = view_wview[0]; tempH = view_hview[0]; if gvW/view_wport[0] >= gvH/view_hport[0] { view_hview[0] = lerp(view_hview[0],gvH,.3); view_wview[0] = view_hview[0]/view_hport[0]*view_wport[0]; } else { view_wview[0] = lerp(view_wview[0],gvW,.3); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; } view_xview[0] -= (view_wview[0]-tempW)/2; view_yview[0] -= (view_hview[0]-tempH)/2; } if view_wview[0] > room_width { view_wview[0] = room_width; view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; } if view_hview[0] > room_height { view_hview[0] = room_height; view_wview[0] = view_hview[0]/view_hport[0]*view_wport[0]; } if instance_exists(gvObj) { gvX = min(max(0,gvObj.x+gvOffX-view_wview[0]/2),room_width-view_wview[0]); gvY = min(max(0,gvObj.y+gvOffY-view_hview[0]/2),room_height-view_hview[0]); gvOffX = 0; gvOffY = 0; } view_xview[0] = round(min(max(0,lerp(view_xview[0],gvX,.15)),room_width-view_wview[0])); view_yview[0] = round(min(max(0,lerp(view_yview[0],gvY,.15)),room_height-view_hview[0])); gvW = gvWStart; gvH = gvHStart; //Tła /*for(i=0;i<8;i++) { if background_visible == true || background_foreground == true { //Horizontal if background_width != room_width { background_x = view_xview[0]/(room_width-view_wview[0])*(room_width-background_width); } //Vertical if background_height != room_height { background_y = view_yview[0]/(room_height-view_hview[0])*(room_height-background_height); } } }</span> room start GML ///Widok globalvar gvXStart, gvYStart, gvWStart, gvHStart, gvObjStart; gvXStart = view_xview[0]; gvYStart = view_yview[0]; gvWStart = view_wview[0]; gvHStart = view_hview[0]; gvObjStart = view_object[0]; if instance_exists(gvObj) { view_xview[0] = min(max(0,gvX),room_width-view_wview[0]); view_yview[0] = min(max(0,gvY),room_height-view_hview[0]); } Draw GUI GML /// Wyswietlamy HUD gracza draw_set_color(c_white); draw_sprite(spr_mniejszy_hud,1,50,64); var __guiW = display_get_gui_width(), __guiH = display_get_gui_height(); //punkty czyli score wysrodkowalem to na HUD draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_score,1,310,30); draw_text(310,75,"$"+string(global.pScore)); // Zegarki rozmieszczenie spritow i liczb draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_watch,1,500,30); draw_text(480, 75,string(" " + string(global.watch))); // Rozmieszenie monet draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_sprite(spr_coins,1,400,30); draw_text(400, 75, string(" " + string(global.coins))); //HP HUD if instance_exists(par_player) { hpHUD = lerp(hpHUD,par_player.hp,.5); maxHpHUD = par_player.maxHp; //HUD dopalaczy with obj_player { var _offset; _offset = 0; draw_set_font(fnt_pwrup); draw_set_valign(fa_bottom); draw_set_halign(fa_center); draw_set_color(c_white); draw_texture_flush(); if pwrupSpd > 0 { draw_sprite_ext(spr_pwrup_speed,0,__guiW-26,29+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,29+35*_offset,string(ceil(pwrupSpd/room_speed))); _offset++; } if pwrupStr > 0 { draw_sprite_ext(spr_pwrup_strength,0,__guiW-26,35+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,35+35*_offset,string(ceil(pwrupStr/room_speed))); _offset++; } if pwrupJmp > 0 { draw_sprite_ext(spr_pwrup_jump,0,__guiW-26,28+35*_offset,1,1,0,c_gray,.5); draw_text(__guiW-26,28+35*_offset,string(ceil(pwrupJmp/room_speed))); _offset++; } } } else { hpHUD = lerp(hpHUD,0,.5); } //HUD zycia draw_sprite_part(spr_hp_bar,1,1,0,180/maxHpHUD*hpHUD,130,90,14); draw_set_color(c_white); draw_set_valign(fa_middle); draw_set_halign(fa_center); draw_set_font(fn_punkty); draw_text(110, 74, string("x" + string(global.life))); //rozmieszczenie wskaznika zyc draw_sprite(spr_glowa,1,40,1); //sprite glowy bohatera przy pasku zycia</span> teraz tak jak mówisz tworze pusty obiekt bez persistant nazywam go np global_zmienne wycinam z create zmienne z tamtego starego obiektu,ale zostawiam tamten stary obiekt w pierwszym roomie.. No i teraz wklejam do create tego nowego obiektu bez persistant w create te zmienne..i potem wchodzę w ustawienia pokoju pierwszego i w creacion code wklejam to samo co w create w nowym obiekcie tak?;) tak to zrozumiałem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 Tworzysz nowy obiekt, który stawiasz tylko w pierwszym levelu i przenosisz z create tego obiektu do nowo stworzonego: GML global.watch = 0; //Ustawiamy globalnie na 0 w celu ich dalszego sumowaniu umozliwjajacego przejscie do nastepnej planszy po zebraniu ich odpowiedniej ilosci global.pScore = 0; global.life = 5; global.coins = 0; global.Saved = true; globalvar spawnX, spawnY; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Milord Opublikowano 13 Października 2015 Autor Udostępnij Opublikowano 13 Października 2015 Heheh działa MaxGaming kurcze;) wyciąłem te zmienne z create..wkleiłem w setings-creacion code;) w pierwszym roomie i pięknie zlicza;) suuuuper;)Chłopie jak sie spotkamy to masz duże piwo ode mnie;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 Albo mogles po prostu zostawic obiekt tylko w 1nym roomie, bo jak jest persistent to kopia z poprzedniego roomu sie "teleportuje" a nie ze jak w drugim roomie tez jest ten obiekt to poprzedni sie przenosi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 No właśnie tak jak pisałem, nie mam bladego pojęcia jak działa persistant w obiektach, bo kiedyś nie było tego, a dopiero dzisiaj się dowiedziałem o takiej opcji, bo wcześniej nie zauważyłem ;p Czyli persistant działa tak, że obiekt wraz ze zmianą roomu przenosi się i zachowuje wszystkie zmienne do czasu usunięcia go? Ja podałem mu sposób "w starym stylu" jak mówiłem ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 przeciez persistent jest tak stary że nawet najstarsi górale nie pamiętają kiedy został wprowadzony : d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 przeciez persistent jest tak stary że nawet najstarsi górale nie pamiętają kiedy został wprowadzony : d Roomów, nie obiektów ;) W 8ce przynajmniej nie było ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 W starym stylu? Kiedyś nie było room creation Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 13 Października 2015 Udostępnij Opublikowano 13 Października 2015 W starym stylu? Kiedyś nie było room creationW 8mce już był ;) Może nie starym - GMowo 8kowym stylu sprecyzuję :P I nie róbmy off topu skoro to nic nie wnosi do tematu. 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ę