Skocz do zawartości

Qbi Wan

Użytkownicy
  • Postów

    55
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Qbi Wan

  1. Do tej pory myślałem że wiem :jezor: Z tej rozmowy wnioskuję że pętla (nie wiem czy każda, czy tylko while) jest w stanie sprawdzić tylko to co miało miejsce w momencie jej wywołania i nie ogranicza się do jednego raza na step. Zakładam też że mój wniosek jest pewnie błędny i z tej racji chętnie przyjmę odnośnik do jakiejś lektury na ten temat :lol: Czytałem kiedyś Contents'a od GM8, ale nie pamiętam czy coś tam o tym było.
  2. Ten "press" ma sens ( :sp_ike: ) Ale czy jak wstawię "button" nie powinno działać? "whilewhile" jest pierwszą i ostatnią pętlą, więc jeżeli wykonuje się w obrębie step to gdy wykryje "released"released" robi"steps=0" i powinno uciec z pętli. Jeżeli nie, to jak można ją przerwać? Czy użyć innej pętli niż "while"?
  3. Fajnie :D A da się bez alarmu jakoś? Żeby w jednym skrypcie było? Dlaczego ten mój nie działa? Na pierwszy rzut oka się zgadza.
  4. Siemanko! Jak w opisie: gdy kliknę raz ma być jedna akcja; gdy kliknę dłużej, po chwili cała seria. po eksperymentach doszedłem do tego: obj_button> left press> code: GML page_number+=1; //po 1. naciśnięciu zmienia stronę o "1" steps=1; while steps=1//tu zawsze za 1. razem true { if mouse_check_button_released(mb_left)//jeżeli guzik jest już puszczony... { steps=0;//koniec "while" } else//w przeciwnym wypadku { page_number+=1;//znowu zwiększ numer strony o 1 steps=1;//to w sumie niepotrzebne, ale nie zaszkodzi;P } } exit;//w przypadku gdy pętla się kończy upewniam się że to wszystko</span> Mimo to zawsze gdy zrobię event pressed zmienia page_number TYLKO raz, a button leci jak głupie. Dlaczego to nie działa jak mi się wydaje że powinno? Znacie lepsze rozwiązanie?
  5. A gdybym chciał skorzystać z Twojej rady to dalsze pytania na priv czy dalej w tym temacie? :D
  6. Tylko trochę zmartwiło mnie to:"So we no longer need to think about collision detection for moving character models, we just need to think about collision detection for moving ellipsoids.". Elipsoidy wydają mi się mogą być niewystarczające. Np P3DC który ostatnio analizowałem umożliwia wykrywanie kolizji między "collision meshes in realtime" gdzie osobno wczytuje się model dla wyświetlania i model dla kolizji. Jest jakiś sposób żeby połączyć precyzyjną kolizję z FoD? Oczywiście oprócz tworzenia różnych modeli o różnej jakości dla jednego obiektu; na razie staram się tego uniknąć :jezor:
  7. Dokładnie o to chodzi. Fajna rzecz :) Tylko czy pójdzie na GM8? Tam jest napisane że wspiera tylko do GM7...
  8. Witam. Jak w temacie: czy jest jakiś 3D engine na GM8 obsługujący ten efekt??
  9. Wciąż coś jest nie tak z roomami: Mam pierwszy room który posiadadwa guziki testowe do szybkiej nawigacji między pokojami - prev i next - (persistant) i guzik OPTIONS. W event LPM ma polecenie Diffrent Room (próbowałem też room_goto()) powinien przenieść do pokoju gdzie jest w rogu jeden guzik BACK. Tymczasem go nie ma, są jedynie te dwa persistanty. Łącznie mam 4 pokoje które posiadają różne guziki (lub akcje create na LPM), a przełączając persistantami pojawiają się puste pokoje, lecz w zgodnej liczbie (ind. 0 - 3, dalej wywala błąd). Co robię źle? Mam screeny, jeżeli będą potrzebne to jutro tu wstawię. Czy to możliwe że plik zapisu się zepsuł? Stworzyłem nowy, prosty projekt z dwoma roomami: jeden ma ikonę do przenoszenia do drugiego, a drugi ma inną ikonę do przenoszenia do pierwszego i działa poprawnie. Zrobiłem coś nie tak? Może coś w global game setting? Co jest powodem?
  10. Czyli room_assign powinien skopiować room razem z zawartością? Te indeksy przyznawane są w kolejności tworzenia w programie, czy wywoływania w trakcie działania "gry"?
  11. Sorki że po takim czasie piszę :jezor: Super pomysł z tym roomem, dzięki. Czyli globalne działają nie tylko między instancjami, ale i między roomami? Domyślałem się, ale miałem wątpliwości. Globalne w tym roomie deklarować w Creation code czy jakimś obiektem kontrolującym? Mam jeszcze pytanie odnośnie samego sterowania pokojami, nie wiem czy kontynuować to tu, czy w nowym temacie: 1. W jakiej kolejności przyznawane są indeksy roomom? 2. Bawiłem się funkcją room_assign(). W Contents w GM w opisie jest napisane że: "Assigns the indicated room to room ind. So this makes a copy of the room". Wg mnie tworzy kopię roomu i nadaje mu podany index. W internecie znalazłem taką definicję: "This function will copy one room to another, removing all instances, tiles etc... from the room that is being copied to and replacing them completely with the new room contents." Więc usuwa instancje, tilesy itd... z pokoju docelowego i zastępuje je całkowicie nową zawartością. Jednak po wykorzystaniu przywitał mnie pusty pokój :lol2: Do czego jest ta funkcja?
  12. Technicznie wiem że za pomocą global. albo globalvar. Jednak mimo to wyskakuje mi błąd że "nieznana zmienna". Rozumiem że jeżeli są to zmienne globalne definiuję je raz i potem ewentualnie modyfikuje. Tymczasem nawet gdy kontrolerowi w Create ustawiłem kolejno wszystkie zmienne globalne z jakich będę korzystał wywala mi błąd. Te zmienne są ograniczone do jednego roomu, czy coś?? PS. Jaka komenda odpowiada klockowi control - different room
  13. Dokładnie jak mówicie :D Ta (ustalmy wg schematu Darkhog'a) warstwa 2 miałaby też mieć ( :P ) kolory transparentne. Konrad-GM: Nie bardzo wiem co to znaczy, raczej korzystam z puzzli "podnieś/ przenieś" :jezor: Jakbyś podał mi wytłumaczenie tego kodu byłbym wdzięczny.
  14. Hello. Mam taki problem: potrzebuję "przeniknąć" obiekt w polu pod kursorem, by widać było obiekty ukryte pod nim. Myślałem czy można zwyczajnie dać okrągły obiekt pod kursor z maską? Może jest jakaś funkcja mogąca ukrywać część obiektu. Zdarza mi się dennie tłumaczyć. Jeżeli i teraz mi nie wyszło dajcie znać, rozrysuję to (schematy mi lepiej wychodzą :] )
  15. Bo temat zatytułowałem "Znajdowanie najkrótszej drogi", a w sumie chodziło mi o najszybszą ;P Istotna różnica, wolałem uściślić.
  16. A czy da się też znaleźć tymi sposobami najszybszą drogę? Jeżeli tak to który lepszy? Czy ten drugi (ten gotowy) jest w wersji na najnowszy GM?
  17. Hejka wszystkim. Czy jeżeli mam planszę złożoną z kwadratów, i występują na niej 3 rodzaje dróg: piaszczysta, asfaltowa i autostrada i przydzieliłbym im wartość odpowiednio 3; 2 i 1 punktów to byłbym w stanie nakazać systemowi odszukanie takiej drogi z pkt A do pkt B by na koniec drogi zgromadził jak najmniej punktów?? (Temat poprawiony, dzięki za uwagę ;P)
  18. Sorki ze odgrzewam taki stary temat, ale wróciłem do tego projektu. Mam w związku z tym pewien problem: wiem już jak zrobić podążanie za punktem, domyślam się ze wtedy automatycznie wybierana jest jedna najkrótsza droga, ale jak zrobić żeby wybierana była NAJSZYBSZA? Jak w Heroes of Might and Magic: drogi dawały bonus do ruchu a postać poruszając się do punktu starała się iść nie najkrótszą drogą, ale właśnie drogami żeby było szybciej, jednocześnie unikając rzek, za które z kolei była kara do ruchu. Myślałem by nadać każdemu elementowi odpowiednia wartość która sumowana by była i porównywana z innymi rozwiązaniami, ale nie wiem jak to zainicjować.
  19. Myślałem raczej jakimś małym oszustwie ;P Np mała plansza, ale zmodyfikowana perspektywa, system przybliżeń. Takie iluzyjne sztuczki...
  20. Witam. Jeżeli planuję zrobić świat gry podzielony na układy słoneczne i planety to mogę zrobić coś żeby nie musieć tworzyć świata gry wielkości galaktyki?? Chciałbym zachować w miarę możliwości naturalne proporcje. Chodzi mi o taki system jak np Frontier: First Encounters. Gra nie zajmowała 1Gb a podróż przez galaktykę "TROCHĘ" trwała :)
  21. ŚWIETNY! Bardzo prosty i czytelny. Chciałbym o coś dalej jeszcze spytać, ale nie wiem czy nowego tematu nie otworzyć A jakbym chciał żeby poruszały się tylko w pionie i poziomie? Przy czym chciałbym żeby najpierw wybierały poziom, potem pion, poruszając się szybciej w pozimie??
  22. Znalazłem ten kod :P Jak możnaby go poprawić? Zamienić logn na coś innego??? "// SYSTEM KOMUNIKATÓW - nie jest tematem przyk³adu wiêc go nie opisuê. show_info(); var a;a=object_add();object_set_visible(a,false);object_event_add(a,ev_create,0,'global.M="";global.L=0;I=0;T=ds_grid_create(9,4);ds_grid_set(T,0,0,"Witam w przyk³adzie Znajdowanie Drogi!");ds_grid_set(T,0,1,room_width/2);ds_grid_set(T,0,2,room_height/2);ds_grid_set(T,0,3,room_speed*2);ds_grid_set(T,1,0,"Przyk³ad wykonany dla serwisu GMClan.org");ds_grid_set(T,1,1,room_width/2);ds_grid_set(T,1,2,room_height/2);ds_grid_set(T,1,3,room_speed*2);ds_grid_set(T,2,0,"Jego celem jest demonstracja dzia³ania funkcji planowania ruchu w GM");ds_grid_set(T,2,1,room_width/2);ds_grid_set(T,2,2,455);ds_grid_set(T,2,3,room_speed*4);ds_grid_set(T,3,0,"Klawiszologia: LEWY KLIK - wyznacz cie¿kê; PRAWY KLIK - id;#F1 lub F2 - Pomoc");ds_grid_set(T,3,1,room_width/2);ds_grid_set(T,3,2,445);ds_grid_set(T,3,3,room_speed*5);ds_grid_set(T,4,0,"Jeli znajdziejsz b³êdy w tym przyk³adzie, daj znaæ autorowi: most23@op.pl");ds_grid_set(T,4,1,room_width/2);ds_grid_set(T,4,2,455);ds_grid_set(T,4,3,room_speed*4);ds_grid_set(T,5,0,"© 2006 most23#www.gmclan.org | www.most23.prv.pl");ds_grid_set(T,5,1,room_width/2);ds_grid_set(T,5,2,445);ds_grid_set(T,5,3,room_speed*2);ds_grid_set(T,6,0,"F1 / F2 - Pomoc");ds_grid_set(T,6,1,580);ds_grid_set(T,6,2,17);ds_grid_set(T,6,3,false);eve nt_perform(ev_alarm,0);');object_event_add(a,ev_alarm,0,'if(I<7){global.M=ds_grid_get(T,I,0);global.L=ds_grid_get(T,I,3);instance_create(ds _grid_get(T,I,1),ds_grid_get(T,I,2),global.B);alarm[0]=ds_grid_get(T,I,3);I += 1;}else{global.M=ds_grid_get(T,7,0);global.L=ds_grid_get(T,7,3);instance_create( ds_grid_get(T,7,1),ds_grid_get(T,7,2),global.B);}');object_event_add(a,ev_keypress,113,'if(I>=6){global.M=ds_grid_get(T,3,0);global.L=ds_grid_get(T,3,3);instance_create(d s_grid_get(T,3,1),ds_grid_get(T,3,2),global.B);}');global.b=object_add();object_set_depth(global.b,-100000);object_set_visible(global.b,true);object_event_add(global.b,ev_create,0,'a[0]=global.M;a[1]=true;a[2]=false;a[3]=room_speed/2;a[4]=1;a[5]=5;a[6]=room_width*0.8;a[7]=(string_width_ext(a[0],-1,a[6])/2)+a[5];a[8]=(string_height_ext(a[0],-1,a[6])/2)+a[5];if(global.L!=false)then alarm[0]=global.L;');object_event_add(global.b,ev_alarm,0,'a[1]=false;');object_event_add(global.b,ev_draw,0,'a[9]=logn(a[3],a[4]);a[10]=a[7]*a[9];a[11]=a[8]*a[9];a[12]=x-a[10];a[13]=x+a[10];a[14]=y-a[11];a[15]=y+a[11];draw_set_alpha(a[9]*0.33);draw_rectangle_color(a[12]+5,a[14] +5,a[13]+5,a[15]+5,c_black,c_black,c_black,c_black,0);draw_set_alpha(a[9]*0.60); d raw_rectangle_color(a[12],a[14],a[13],a[15],c_maroon,c_maroon,c_black,c_black,0) ; draw_rectangle_color(a[12]-1,a[14]-1,a[13]-1,a[15]-1,c_white,c_white,c_black,c_black,1);draw_rectangle_color(a[12],a[14],a[13],a[15 ],c_black,c_black,c_black,c_black,1);if(a[2]){draw_set_font(Times10);draw_set_ha l ign(fa_center);draw_set_valign(fa_center);draw_text_ext_color(x,y,a[0],-1,a[6],c_olive,c_olive,c_white,c_white,1);}if(a[1]){if(a[4]<a[3])then a[4] += 1;else a[2]=true;}else{a[2]=false;if(a[4]>0)then a[4] -= 1;else instance_destroy();}');instance_create(0,0,a);"
  23. Potrafi ktoś odpowiedzieć? Szczególnie na to ostatnie :)
  24. A gdybym chciał całą planszę zaciemnić, a rozjaśniać tylko w pobliżu źródeł światła, np. pochodni czy na świetle dziennym?? Musiałbym całą planszę zaciemnić obj_ kwadracikami czerni, czy jest jakiś inny sposób?
×
×
  • Dodaj nową pozycję...