Skocz do zawartości

ereg

Użytkownicy
  • Postów

    253
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez ereg

  1. 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
  2. obj_B bedzie nasladowal obj_A, jesli obj_B bedzie miec v eventu step napisane GML x=obj_A.x; y=obj_A.y;
  3. 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);
  4. ereg

    Wybór szkoły

    zyce duzo powodzenia :thumbsup:
  5. niewiem jesli bedzie dzialac poprawnie kalkulacja, ale chyba najpierw trzeba v Obliczaniegenow skasowac global.objall=0 inaczej zawse bedzie while bez konca :)
  6. ereg

    Wybór szkoły

    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 :)
  7. ereg

    Wybór szkoły

    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 :)
  8. 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
  9. 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"
  10. 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 :)
  11. 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:
  12. 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.
  13. 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.
  14. 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
  15. juz niewazne. dopiero teraz zauwazylem, ze jak duzo umieram to obniza wartosc spelnienia gwiazd. pomylila mnie mozlivosc przejscia do nastepnego lvl bez zdobycia gwiazdy:)
  16. ereg

    Zamulony komp

    jak pisze Fervi (doctor) z hijackthis. jest tez cz forum, jesli blizej ci CZ niz GE viry.cz :)
  17. 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
  18. mnie sie calkiem podoba, moze tylko poprawic jakies drobnostki, grafike gwiazdek albo stzralki u vyboru lvl :)
  19. ereg

    Zamulony komp

    jezeli jescze jest w PC, to zrob przywrocenie przez Punkt przywracania systemu(System Restore Point)
  20. 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
  21. 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 :)
  22. 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.
  23. 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
  24. 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; };
  25. 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
×
×
  • Dodaj nową pozycję...