Skocz do zawartości

Cygnus

Użytkownicy
  • Postów

    330
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Cygnus

  1. Ok właśnie to robię,wiem,że strzelamy,ale w końcu się uda;)
  2. (Game Maker Studio) Jak zrobić żeby coś takiego,że jak bohater zbiera monety,to po zginięciu,w tym samym momencie co zebrał monety już ich nie ma Czyli idę sobie bohaterem zebrałem np 10monet no i wpadłem na kolce ginę zaczynam plansze od nowa.ale w tym miejscu,co wcześniej zebrałem te monety to ich nie ma jak to zrobić?
  3. ANtY i chyba będę musiał poczekać na mojego programistę z projektu;) ale pokombinuje z tym trochę zrobię tak jak napisałeś dzięki brachu;)
  4. No właśnie o to mi chodzi,że chce resetować room,że już zebrałem te monety,wiesz jak to zrobić?
  5. No a teraz jeszcze taka sprawa wszystko ładnie działa z tymi monetami bohater je zbiera i jak uzyska 100monet to daje mu się życie...a co teraz zrobić,bo w momencie,kiedy bohater zginie,a wcześniej zbiorę w danym miejscu monety,to powinno ich już w tym miejscu nie być,a są,jak to zrobić że jak zgine i zbiorę wcześniej monety,to później ich już tam nie ma. GML if( global.coins >= 100 ) { global.coins -= 100; global.life += 1; }
  6. Kurcze Thref weź mi dokładnie powiedz,gdzie to mam wpisać,bo wpisałem to w nowym obiekcie który stworzyłem czyli obj_poprawa: CREATE GML surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> view_wport[0]=view_wview[0] view_hport[0]=view_hview[0] I ten obiekt dodałem do menu i do game over,ale jak to tam umieściłem,to znowu jest brzydki ekran:/
  7. Nawet stworzyłem oddzielny obiekt w Create dałem ten kod: GML surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> to jak umieściłem ten obiekt na planszach menu i game over,to teraz wygląda to ohydnie brzydko czcionka i ekran rozszarpany
  8. wpisałem to do obj_global_controler Begin STEP GML ///Window if (view_wport[0] != window_get_width() || view_hport[0] != window_get_height()) && window_get_width() != 0 { view_wport[0] = window_get_width(); view_hport[0] = window_get_height(); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; surface_resize(application_surface,view_wview[0],view_hview[0]); //display_set_gui_size(view_wview[0],view_hview[0]); //wersja alternatywna display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa } surface_resize(application_surface,view_wview[0],view_hview[0]); display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa</span> Jak na razie nic to nie pomogło:/
  9. Nie mam teraz jak wstawić,bo mi serwer coś nawala i nie mogę chwilowo się do niego podłączyć...tych pokoi to ja mam sporo już.. na pewno mam tak,że pokoje menu są wszystkie w rozdzielczości 1920x1080 natomiast pokoje gry,to są w różnej wielkości najczęciej długie dość bo 19200x800 dobra może łatwiej kodem będzie o to kod z obj_global_controller: BEGIN STEP GML ///Window if (view_wport[0] != window_get_width() || view_hport[0] != window_get_height()) && window_get_width() != 0 { view_wport[0] = window_get_width(); view_hport[0] = window_get_height(); view_hview[0] = view_wview[0]/view_wport[0]*view_hport[0]; surface_resize(application_surface,view_wview[0],view_hview[0]); //display_set_gui_size(view_wview[0],view_hview[0]); //wersja alternatywna display_set_gui_size(view_wport[0],view_hport[0]); //wersja podstawowa } obj_game_controller CREATE GML ///Setup global.pScore = 0; global.life = 5; global.coins = 0; globalvar spawnX, spawnY; //View 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 ///View 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; //Backgrounds 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); } } } Room start GML ///View 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 ///Draw player HUD draw_set_color(c_white); draw_text(32, 88, string(" Score: " + string(global.pScore))); var __guiW = display_get_gui_width(), __guiH = display_get_gui_height(); draw_sprite(spr_healthbar,0,0,0); draw_text(32, 64, string(" Lives: " + string(global.life))); draw_text(32, 120, string(" Coins: " + string(global.coins))); if instance_exists(par_player) { hpHUD = lerp(hpHUD,par_player.hp,.5); maxHpHUD = par_player.maxHp; 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); } draw_sprite_part(spr_healthbar,1,4,0,91/maxHpHUD*hpHUD,32,4,0);
  10. Threff ja jestem grafikiem w grze i od scenariusza prostych kodów,zastępuje kolegę,kod jest głównie nasz wspólny,ale to nie ja nad tym siedzę,po prostu przypadek losowy teraz się trafił,że muszę coś zrobić w grze parę rzeczy dlatego tak potrzebuje pomocy...Dobra mniejsza o tym to dla ścisłości mam na pewno "view_wport"
  11. Views w rommie menu mam tak ustawione: zaznaczone mam ptaszkiem: Clear Background with Windows Colour Clear display buffer with window Colour resztę mam odznaczone room menu ma rozdzielczość 1920x1080
  12. Tak jak włączam swoją grę wszystko ładnie wygląda całe menu gry,a jak wejdę do gry i na moment z niej wyjdę do menu głównego,no to jak widzicie na screenach jak to wygląda,to samo jest jak gram no i zginę w grze,i wtedy przechodzę do pokoju Game Over i tak samo się dzieje brzydka niewyraźna czcionnika postrzępiona jak tam..
  13. No dobrze,ale jak to naprawić,żeby było normalne te menu?
  14. Może coś w ustawieniach Game Makera studio jest nie tak...sam już nie wiem:/ co mam zrobić...żeby te menu było takie normalne jak przy włączeniu gry.
  15. Uzjel to fakt mam w obiekcie controler w draw GML draw_set_halign(fa_center) draw_set_valign(fa_bottom) i teraz w draw co mam wpisać draw_texture_flush? co dokładnie mam wpisać?
  16. Super Panowie Sutikku i ANtY Działa dziękuje;) butelka uzupełnia energia;)
  17. Cześć wszystkim (Game Maker Studio) Jak stworzyć obiekt,który uzupełni mi na 100% energie,np idę sobie bohaterem jest buteleczka która uzupełnia energie całą. moja zmienna energii to hp
  18. TU jest dobrze tak jak powinno być menu główne O tak wygląda te główne menu jak wyjdę z gry jak widać jest obraz niewyraźny i czcionka poszarpana
  19. Cześć wszystkim, (Game Maker Studio) Problem jest tego typu,że normalnie jak uruchamiam swoją grę jest wszystko ,ładne menu gry,które zrobiłem,czcionka napisów też wszystko dobrze,wchodzę do gry też jest ok,ale kiedy z gry wyjdę,żeby wrócić do głównego menu,to moje menu staje się nie wyraźne,czcionka jakaś postrzępiona,bardzo brzydko to wygląda,w czym jest problem?
  20. Anty ImLord dziękuje wam za pomoc o i zrobiłem sobie plansze game over;)
  21. Faktycznie hp! Dzięki Lord życia już działają;) jesteś wielki;) no dobra to teraz jeszcze jak zrobić żeby w momencie zebrania 100monet np otrzymam jedno życie,oraz gdy osiągnę wartość 0 żyć to gra się kończy Game Over
  22. ta opcja global.energy nie działa u mnie chyba ,ze gdzies musze to stworzyc? GML global.energy GML if( global.energy <= 0 ) { global.energy = 100; global.life -= 1; room_restart(); } to u mnie nie działa,być może muszę to w obj_game_controler wpisać,bo nie istnieje u mnie global.energy
  23. a tu mój stworzony obj_game_controler i wszystko co w nim jst zawarte,to on głównie odpowiada za te funkcje: CREATE GML ///Setup global.pScore = 0; global.life = 5; globalvar spawnX, spawnY; //View 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 ///View 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; //Backgrounds 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); } } } Room start GML ///Destroy self if string_copy(room_get_name(room),0,9) != "roo_world" { //wyszukiwwanie nazw map z poaczatkiem roo_world instance_destroy(); } GML ///View 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 ///Draw player HUD draw_set_color(c_white); draw_text(49, 88, string(" Score: " + string(global.pScore))); var __guiW = display_get_gui_width(), __guiH = display_get_gui_height(); draw_sprite(spr_healthbar,0,0,0); draw_text(64, 64, string(" Lives: " + string(global.life))); if instance_exists(par_player) { hpHUD = lerp(hpHUD,par_player.hp,.5); maxHpHUD = par_player.maxHp; 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); 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); } draw_sprite_part(spr_healthbar,1,4,0,91/maxHpHUD*hpHUD,32,4,0);
  24. Może tak tu są obrażenia jakie wróg zadaje mojemu bohaterowi czyli: obj_player a w nim event i kolizja z wrogiem czyli obj_enemy event GML if !vspd > 0 && hurtClock == 0 && other.hurtClock == 0 && sign(x-other.x) == other.image_xscale { hp -= 15; hurtClock = room_speed; vspd = -8; hspd = sign(x-other.x)*16; }
  25. no dobra to gdzie mam to wpisać tą opcje,żeby wróg w momencie ,kiedy energia się skończ zabrał jedno życie i żebym zaczynam od początku tego pokoju w którym się obecnie znajduje? to teraz tak na przykładzie mojego kodu: Event-kolizja z obj_player GML ///Zgniecenie if other.y < y && other.vspd > 0 && other.hurtClock == 0 && skok==0{ skok+=1; hp-=10; other.vspd = -12; with instance_create(x,y,obj_entity_die) { sprite_index = sprWrogGinie; //dodatkowa animacja wroga kiedy ginie gdy sie na niego naskoczy image_xscale = other.image_xscale; hspd = other.hspd; vspd = other.vspd; } } else if other.y < y && other.vspd > 0 && other.hurtClock == 0 && skok==1{ other.vspd = -12; hp-=10; with instance_create(x,y,obj_entity_die) { sprite_index = sprWrogGinie; //dodatkowa animacja wroga kiedy ginie gdy sie na niego naskoczy image_xscale = other.image_xscale; hspd = other.hspd; vspd = other.vspd; if (global.life > 0) { global.life -=1; instance_create(room_width/2,room_height/2,obj_player); } } instance_destroy(); }
×
×
  • Dodaj nową pozycję...