
ereg
Użytkownicy-
Postów
253 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez ereg
-
Dużo obiektów, każdy ma inne parametry, jak je wyświetlić?
ereg odpowiedział(a) na zolty77 temat w Pytania początkujących
1, napisalbym do obj_panel by pokazywal parametry objectu(powiedzmy obj_balon) wedlog zadanego id wtedy wystarczy obj_panel podac id zayznazonego obj_balon a obj_panel sam sie postara o wyswietlenie danych 2, kazdy obj_balon w chwili kiedy jest zaznaczony poda swe id do obj_panel 3, trzeba ustalic zasady dla odznaczania, bo jest tu duzo nieznajomych, ktore niepodales. naprz. jak ma sie zachowac panel kiedy niejest oznazona zadny balon, jesli mozna oznaczyc wiecej obj_balon i co wtedy ma sie pokazywac -
obj_B bedzie nasladowal obj_A, jesli obj_B bedzie miec v eventu step napisane GML x=obj_A.x; y=obj_A.y;
-
problem z dodawaniem losowych obiektów
ereg odpowiedział(a) na Itsuma temat w Pytania początkujących
1, nietylko zrozum switch ale tez if/else if/else w pierwszym postu losujesz jesli ma byc czervwona a potem niebieska etc. naprzyklad: jesli vylosujesz czerwono to jest szansa, ze drugi los znow wylosuje zamiast czerwonej niebiesko. a TO doprowadza to do nierownego losowania kolorow, bo jest wieksza szansa na kolory pozniej losowane prawidlowo IF majo byc: GML if(irandom_range(1, 6) == 1){ instance_create(x, y, obj_kula_czerwony); } else if(irandom_range(1, 6) == 2){ instance_create(x, y, obj_kula_niebieski); } else if(irandom_range(1, 6) == 3){ instance_create(x, y, obj_kula_zielony); } else if(irandom_range(1, 6) == 4){ instance_create(x, y, obj_kula_zolty); } else if(irandom_range(1, 6) == 5){ instance_create(x, y, obj_kula_fioletowy); } else { // by zawsze byl jakis kolor. inaczej kulka niepojawi sie, bo zadna niebyla wylosowana :) instance_create(x, y, obj_kula_seledynowy); } to tylko ilustracyjny przyklad, jak uzyc if/else is/else a nie jak powinno sie programowac! 2, lepszy kod od Threef mozna uproscic do: GML instance_create(x, y, choose( obj_kula_czerwony, obj_kula_niebieski, obj_kula_zielony, obj_kula_zolty, obj_kula_fioletowy, obj_kula_seledynowy); -
zyce duzo powodzenia :thumbsup:
-
niewiem jesli bedzie dzialac poprawnie kalkulacja, ale chyba najpierw trzeba v Obliczaniegenow skasowac global.objall=0 inaczej zawse bedzie while bez konca :)
-
na VSB - ostrava uczo sie w jednej klasie w peirwszym roku informatici i teleinformatici a az w drugim roku majo osobne klasy/zajecia na programowanie jest to chyba najlepszy wybor. fajnie miec papier ze umiesz programowac :thumbsup: a papier bywa czasami bardzo wazny jesli bedzies naprawde umiec, to juz inna sprawa :sleep1: VSB dawa kontakty na firmy a studenci zyskujo praktyke i czasami robote po ukonczieniu szkoly :)
-
niewiem jak w polsce, ale na vysoka skola banska ostrava te obory w priewszym roce byla jedna klasa :) bardzo proste rownanie Informatyka = programowanie/PC Teleinformatyka = mobily Elektryka = zarowki/przerywacze fajna byla selekcja, bo teleinformaticy czesto nieznali programowania a programisci nieznali elektroniky :)
-
Patche, Poruszanie się zwierzecia
ereg odpowiedział(a) na orzechyarachidowe temat w Pytania początkujących
kazde zwierze szuka trawe, dlatego v kazdym o_zwierze powinen byc kod dla szukania trawy o_nazew jest object_nazew _bliska_trawa to me zmienna a trza ich "napelnic" przed uzyciem v punktu 2 jest _bliska_trawa= id blizsej instancji trawy(objectu v roomu) jezeli _bliska_trawa niebedzie wczesniej testowana to nietrzeba jej miec v create. ale _max_zaseg_zwierzaka powinen byc v create definowany(dostac wartosc) powinenes sam odgadnoc kiedy trzeba definowac zmienno v CREATE. przewaznie tak bywa kiedy jest definovana tylko raz. 1, gnysiek podal podklady, ja wytlumacze princip najpierw dam do _stary_czas v create =0 1a, potem v step testuje jesli _stary_czas jest > niz current_time. pierwzsy raz to bedzie jesli 0>current_time a current_time jest duza licba. test jest true a wykona sie 1b, (jak by test byl false to wykona sie 1c,) 1b, jesli 1a bylo true, wtedy doda do current_time + _iloscmilisec_do nowego_testu i wlozy wynik do zmiennej _stary_czas a zaraz wykona test na trawe 2-3 1c, jesli 1a bylo false to w nastepnem cyklu step jest _stary_czas wiekzy niz current_time o _iloscmilisec_do nowego_testu-1(dlatego ze current_time sie samo zwieksza) i z kazdym cyklem ten odstep sie zmiejsza, ale if niejest prawdziwe i sie niewykonalo calkiem proste -
jest mozliwosc by wedlog path jechala niewidzialna instancja o_przewodnik a twoja postac nasladowala przewodnika, ALE zawse poprawiala swo pozicje o offset dany v origin :) cos podobnego stosowalem, kiedy postac niesmiala sie poruszac sie inaczej niz vertikalnie lub horizontalnie a przy realtime zmianach trasy to niebylo mozliwe ani z mp_grid. bo start end mi sie czasami "psul"
-
Patche, Poruszanie się zwierzecia
ereg odpowiedział(a) na orzechyarachidowe temat w Pytania początkujących
szybki narys jak bym myslal nad sposobem event STEP w o_zwierze : 1, test na czas, by kazdy step nieszukal nowej trasy if (_stary_czas < current_time) {_stary_czas = current_time + _iloscmilisec_do nowego_testu; /*wykonaj punkt 2-3 */} 2, znajdz najblizso trawe _bliska_trawa=instance_nearest(x,y,o_trawa)// id o_trawa da do zmiennej _bliska_trawa 3, jesli o_trawa jest zadaleko if ( distance_to_object(_bliska_trawa) > _max_zaseg_zwierzaka) {/* wykonaj punkty 4-5*/} 4, znajzd trase do trawy(pisze to z glowy, tak trza poczytac o mp_potential_path_object i dostosowac) _trasa=mp_potential_path_object(path,xg,yg,stepsize,factor,obj) // zrobi nowy path do trawy i da do zmiennej _trasa 5, start path path_start(path,speed,endaction,absolute) zwlascza 4 i 5 trzeba sobie porzodnie dorobic, ale cale to pokazuje sposob, czego by mozna uzyc :) -
niezle, ale nie zabardzo dobrze(na gotowo gre) sprobojmy -wady +zalety =polecam palka: + jest :) - odbija tylko pod kotem 45 = baardzo zle, powinna odbijac wedlog kota(angle) pilki co najmniej na metalowych okrajach = jest nudna a na palce mozna zrobic buzo zabawy. zmiany palki etc. - niedojecha na prawym okraju na to samo odleglosc jak na lewym = ZAWSZE ma byc widocna. chyba ze ktos wyloczy swiatlo a chces wkurzyc graczy :) pilka + ma calkiem fajny efekt + predkosc akurat - po skoczeniu szybkosci zmienia kierunek, dziwne to = fajnie bylo by dodac wiecej modow niz tylko szybkosc cegly + ladnie odbijajo pilke - niemajo co robic pod palko! jescze schowane - teleport szybkiej cegly? no dobra, ze wzgledu braku kontroli nad pilko mozna brac jako pocieche - jak mam szybkosc niewezme radioaktywnej cegly. ok, ale potem jak wybije ostatnie cegly gra nierozpoznaje ukonczenia lvl a zbieram szybkoc/radiaktive az do uplynencia czasu. BAD gra = daj volume control = daj efekty dziwekove - czesto po zapisaniu score wyjdzie do windows = grrr daj mozliwosc szybkiego dostepu do menu. - do czego jest walsciwie odliczany czas? bo idzie do minusu a nic + 2 gracze fajnie = dodaj mozliwosc gry przeciw sobie, ale az potem co dodsaz kontrole nad pilko dzieki zmanie kotu odbijania pilki = advanced bylo by dodac falsze pilce za pomoco ruchu pilki ;-) = viecej bonusow, lepsiej umiesconych, niz tylko teleportacyjna cegla dosyc! :) duzo mozna napisac, ale kto by to czytal jak dla mnie to niejest gotowa gra a nieda sie takiej oceniac. widze potencjal to teraz do roboty :thumbsup:
-
Jak zliczyć ilość spritów oraz objektów na planszy
ereg odpowiedział(a) na tomasz_76 temat w Pytania początkujących
liczenie instancji jest najprostsze, ale chyba chcialesz wiecej. moze sie myle :) mozna sie bavic z wieloma ds_queue, rozwiozanie jest zalezne od twych zamiarow. wygodne jest jesli masz dosyc rozno ilosc blekytnich i czerwonych kolek. naprzyklad mozna przewidziec wtedy z natury programu ze blekytnych mam 10000 ale rzadko sie zmienajo i czerwonych mam kilka dziesotek ale szesto sie zmienajo. wtedy nietrzeba kontrolowac blekytne jesli sie zmieno czerwone. i queue osobne dla kazdego koloru jest wygodne queue jest dosyc szybkie a jesli progam zmiena kolorove kolka losowo a niema wyraznego podialu w licbach kolek to jest inna mozliwosc. chyba raczej pokaze sposob jaki pierwotnie mialem na mysli => tutaj. LMB dodaje nowe kule RMB na kuli, jo nisczi. -
Jak zliczyć ilość spritów oraz objektów na planszy
ereg odpowiedział(a) na tomasz_76 temat w Pytania początkujących
zmienna kolejka przechovuje adres ds_queue dla zmiennej kolejka wazne by dla drugiej kolejki zapisac jej id do nowej zmiennej. jezeli uzyjesz tej samej zmiennej dla nowego ds_queue, stara zmienna jest stracona i tez stare ds_queue :) naprz: GML kolejka_czerwona=ds_queue_create(); kolejka_blekitna=ds_queue_create(); etc. -
Jak zliczyć ilość spritów oraz objektów na planszy
ereg odpowiedział(a) na tomasz_76 temat w Pytania początkujących
jezeli kazdemu sprite odpowiada jedna instancja(object w roomu) to licz instancje. co do twego przypadku. mozna zrobic roznie, naprz.: - kazdy obj_guzik_cos zapisuje przez event CREATE swe id do obj_control( mozna fajnie uzyc ds_queue_ ) - obj_control potem latwo znajdziei ilosc zapisanych obj_guzik_czerwony lub niebieski. iterujoc(przechodzoc po queue) dostajesz id kazdego obj_guzik_ i mozesz z kazdym robic co potrzebujesz ds_queue, jest tylko jedna z wielu mozliwosci, jak ds_ tak array(tablica) ------- czasami jednak uzywa sie jedna instancja= kilka sprite na roznych miesjcach,lub nakladanych na siebie. tam treba liczic z prawidlowo ilosco wykreslen :) mozna potem uzyc sposob wyzej podany, ale musi byc odpowiednio modifikowany -
juz niewazne. dopiero teraz zauwazylem, ze jak duzo umieram to obniza wartosc spelnienia gwiazd. pomylila mnie mozlivosc przejscia do nastepnego lvl bez zdobycia gwiazdy:)
-
jak pisze Fervi (doctor) z hijackthis. jest tez cz forum, jesli blizej ci CZ niz GE viry.cz :)
-
butony na next lvl/retry/menu mi niedzalajo v fullscreen :) chyba so kdzies .. na innym miejscu kiedy dam spacje to 17(lvl7) a 23(lvl16) nieliczo gwiazdek 17 i 23 so bez score enter kasuje caly postep na 21 niechcocy dalem i znow od lvl1 levely grywalne, pozniej trudniejsze, ale da sie :) moze 15 lvl byl dosyc na millimmetrowe skakanie grafika: moze jesce coiny, v zasadzie zrobic je mniej "plaskie" i menu buttony play etc tez mnej plaskie cos v sytlu info buttonu menu inaczej ladne, ale troche nudne :thumbsup: moze cos dla ozywienia? w grze nietrzeba sie zaduzo rozpraszac, ale menu cos innego trzymam kciuki
-
mnie sie calkiem podoba, moze tylko poprawic jakies drobnostki, grafike gwiazdek albo stzralki u vyboru lvl :)
-
jezeli jescze jest w PC, to zrob przywrocenie przez Punkt przywracania systemu(System Restore Point)
-
draw, string_delete, string_copy, usuwam nieistniejące znaki
ereg odpowiedział(a) na Qbi Wan temat w Pytania początkujących
chyba jescze treba czyscic keyboard_string. jesli zrozumialem twoj przyklad to tak jest ok: GML if allow_write=true{//jeżeli włączono pisanie if first_button=true {//i wolno pisać w sekcji 1. first_button_text=string_copy(keyboard_string,1,string_length(keyboard_string))//to do str FBT skopiuj zawartość KS string_delete(keyboard_string,1,string_length(keyboard_string))//usuń zawartość KS if string_length(first_button_text)>2{//jeżeli liczba znaków w FBT > 2 first_button_text=string_copy(first_button_text,1,2)//przepisz z powrotem z SS do FBT keyboard_string=first_button_text; //czysci keyboard_string od zbednych znakow } if (keyboard_check_pressed(vk_backspace)) {//jeżeli naciśnięto Backspace first_button_text=string_copy(first_button_text,1,string_length(first_button_text)-1); } } } napisze max 2 znaky i na vk_backspace zaraz vymazuje ostatni znak. teraz tylko dostosuj dla swych potrzeb dla przyslosci przeczytaj help :) string_delete zvraca copie stringu, zatem niemoglo dzialac pomyslne -
proponuje bys zrobil sobie extra gm przyklad, wedlog tego co ci radzili wyzej. jesli bedzie problem(a niewierze) to mozesz pokazacs ten pryklad a wtedy v zaraz bedzie jasne kdzie jest problem :)
-
ogolnie to raczej event STEP. (mozna by i jakies inne eventy, ale to lepiej wiedziec juz ktore i dlaczego) tez masz 2 mozliwosci: 1, przyklad umiescisz do scripts i ten script juz mozesz wolac z eventu STEP nawet kilka razy lub innego eventu, jak bedzie trzeba 2, przyklad umiescisz do eventu STEP i bezdzie dostepny tylko w tym miejscu.
-
niewidzialem v pierwszym postu, ze pytanie dotyczy GM:s :) chcialem pokazac, ze mozna to ladnie napisac v GM 8.1(i mniej) jak pisze Threef, nawet napisalem zmianke v komentu przykladu. niestety niebedzie juz cale v jednym scripcie
-
bez alarmu i v jedynym scripcie mozna naprzyklad tak:GML if (!variable_local_exists( "_mouse_pressed" ) ) {_mouse_pressed=false; }; // zamiast napisania v eventu create: _mouse_pressed=false if (mouse_check_button_released(mb_left) && _mouse_pressed) { page_number+=1; } // page_number+=1; akcja wykonywana tylko raz po kliknienciu LMB else if (mouse_check_button_pressed(mb_left) ) { _mouse_pressed=true; };
-
jezeli dobrze rozumiem to chcesz miec kontrole(etc) przez GM nad inno aplikacjo w windows? naprzyklad do zebrania pieniedzy z web gier(etc)? jesli tak, to sproboj colorgrabber.dll jest latwa do uzycia i kolor sprawdza tez w GM/windows w tym samym czasie znalazlem tezv wiecej dll, ale czesto byly linky nieaktywne. mozes poszukac sam tutaj mozna tez uzyc Macro Scheduler Automation Tool umie wiecej niz tylko pixel, robi i z obrazkami sam dawno temu robilem w tym kontrole nad mmorpg gro(Vanguard:SoH), kiedy vedlog obrazka macro robilo craft :) potrafi getpixelcolor, ale tez naprzyklad umie oczekywac momentu kiedy sie dany obszar gry zmieni graficzne a potrafi go porovnac a wykonac akcje