Skocz do zawartości

TO_mek

Użytkownicy
  • Postów

    346
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez TO_mek

  1. Witam!

    Zrobiłem sobie w GMHTML5 baner na stronę www. Wszystko działa tak jak ma działać poza tym, że cała zawartość strony została jakby zablokowana do kopiowania czyli nie mogę obecnie skopiować do schowka zaznaczonego tekstu na stronie (w sumie to akurat mi nie przeszkadza), nie działa menu kontekstowe pod prawym klawiszem oraz co najbardziej istotne to nie mogę wpisywać treści w pole formularza wyszukiwarki (konkretnie google cse).

    Trzeba coś zaznaczyć w opcjach gm html5/studio aby odblokować treść strony? Najbardziej zależy mi na tym aby móc używać wyszukiwarki.

  2. Takich rzeczy nie rób w GM tylko w np. w C czy C++. Skrypt PHP też da radę. GM może nie dać sobie z tym rady.

     

     

    Przetestowałem na 6ciu ksiazkach txt polaczonych w jeden plik (3,62MB ok 615 tysięcy wyrazów). Odczyt pliku i podział tekstu na pojedyncze wyrazy trwa mniej wiecej ok 12 sek. Nic sie nie wywala, proces w pamięci zajmuje po wczytaniu tekstu o jakies 23MB pamięci więcej niż przed zaczytaniem. Prędkość operacji na ds_listach są wystarczająco szybkie aby wyswietlac poszczegolne wyrazy z predkoscią 500 wyrazw na minutę na ekranie a mało kto jest w stanie czytać z taką prędkością :)

  3. Witam!

    Wrzucam do ds_list z pliku txt poszczegolne wyrazy. Obecnie czytam niewielkie pliki txt ale docelowo chce umożliwić wrzucanie dowolnie długiego tekstu (np. cała książka w txt). Jakie ograniczenia posiada ds_list co do wielkosci tzn. zalezy to wylacznie od ilosci pamieci czy sa jakies inne ograniczenia?

  4. Działa z ostatnio używaną czcionką. Jaka to jest - zalezy od depth i id obiektów w roomie (a więc kolejności wykonania kodu) - ale np. jak korzystasz tylko z jednej czcionki w danym roomie, to zawsze zwróci prawidłową wartośc.

     

     

    Ja tam sie nie spieram ale bez draw_set_font tuż przed wywołaniem string_width zawsze miałem problemy z prawidłowym działaniem mniej wiecej takiego kodu:

    GML
    var _imie, _dl_im, _dlmax_im, _licz_im;

    _imie:=get_string("Zdobyłeś najlepszą pozycję w tabeli High Score! Wprowadź Imię. ","Retrospect Workshop")

    _dlmax_im:=166; //max 166px szerokosci wpisu

    _licz_im:=24; //dlugosc max w znakach

    if string_length(_imie) < 1 then _imie:="Anonim";

    if string_length(_imie) > _licz_im then {

    do {

    draw_set_font(font_fn); //OKAZUJE SIE ZE TO MUSI BYC TUZ PRZED WYWOLANIEM sring_width

    _dl_im:=string_width(_imie);

    if _dl_im > _dlmax_im then {

    _imie:=string_copy(_imie,0,_licz_im);

    _licz_im-=1;

    } else break;

    } until _licz_im<12

    }

  5. string_width(), najlepiej po poprzednim ustawieniu odpowiedniej czcionki. (string_lenght zwraca liczbe znaków dla odmiany).

     

    Ja bym powiedział, że OBOWIĄZKOWO tuż przed użyciem "string_width" należy wywołać "draw_set_font(nazwa_fontu)", gdyż inaczej funkcja string_width nie zadziała.

  6. dafaq? Najgorszy sposób jaki słyszałem, na zrobienie czegoś na co wystarczy tylko 1 linika kodu :o

     

    No nie do końca :)

    Wyobraź sobie, że chcesz zrobić taką platformówkę składającą się z kilkuset ekranów. Otwieranie gigantycznego rooma jest w takim przypadku bez sensu bo wystarczy jeden maly room + przesuwane obiekty i można robić mapy bez ograniczeń.

  7. http://yoyogames.com/news/92 ;)

     

    Ale... chodzi o funkcję keyboard_key_press, a nie event, prawda? Spróbuj użyć eventu, powinno być ok. Albo poczekaj na fix :)

     

    Tak ale zazwyczaj robię obsługę klawiszy a do tego obsługę "guzików" załatwiam poprzez funkcję keyboard_key_press. Po ostatnim bugu w innym projekcie przerobiłem obsługę klawiszy tak by wywoływać podskrypty i w obsłudze guzików nie używam tej zabugowanej funkcji. Ale akurat w tej minigierce tego nie zmieniałem bo po pierwsze myślę, że za momencik ta funkcja powróci do łask a po drugie granie na myszy troche mija się z celem (ale już na tablecie z androidem to wyłącznie na guzikach).

     

    PS. W sumie w czasie jakim pisłem ten post zdąrzyłbym przerobić te guziki :)

  8. Prosze o zrobienie jakiejś prostej gry w GM Studio na androida. Chodzi o ruch postaci. W kocie mam że jeśli nacisnę A to idzie w lewo jednakowoż grając na androidzie nie działa (mam x10 mini pro więc mam klawiature). Pomoże ktoś?

     

    Tu jest gra ktora jest w HTML5 i powinna działać na androidzie. Obecnie Studio Beta nie pozwala na skompilowanie gry pod androida jako "stand alone", jedynie kompiluje i uruchamia bezposrednio na danym urządzeniu a pełnej wersji jeszcze nikt nie posiada (no może poza Gnyskiem ;) ). Podczas gry powinny dzialac klawisze A,X, L,M (i obecnie nie powinny reagowac na dotyk bo jest nowy bug w html5/studio)

  9. Operuj tylko na klockach w kształcie kwadratu i prostokąta.

     

    To byłoby zbyt proste :)

    Równie dobrze możnaby się ograniczyć do samych kwadratów i matrycy o bokach parzystych.

     

    EDIT: DO Pamparampa -> Zbiór klocków nie jest stały tzn. jest określona liczba możliwych kształtów ale generowanie klocków może być np. losowe. Można przyjąć, że matryca 20x20 teoretycznie powinna zmieścić 100 klocków (bo każdy klocek zajmuje 4 kwadraciki), i albo losujemy na dzień dobry 100 klocków, albo po jednym (czyli za każdym razem układać należy od nowa) a algorytm ma tak kombinować aby zmieścić jak największą liczbę z tej setki.

  10. Każdy klocek ma taką samą powierzchnię równą 4 jednostki. Także niezależnie od tego jak je poukładam, jeśli zmieszczę tyle samo klocków to wolnych miejsc zostanie dokłądnie tyle samo. Nie zdefiniowałeś porządku na układach więc przyjąłem, że tylko liczba, a nie rozmieszczenie ma znaczenie.

    Ok zgadza się, powierzchnia to zawsze 4 jednostki. Zostaje więc tylko je poukładać. I właśnie tego algorytmu "poukładania" szukam :)

  11. Wszystkie klocki mają taki sam rozmiar w polach więc niezależnie od rozkładu to ilosć wolnych miejsc jest niezmienna także chyba nie rozumiem. Sprowadza się to tylko i wyłącznie do upchnięcia maksymalnej liczby klocków bez zważania na puste pola?

    I czy te klocki przychodzą w ustalonej kolejności czy mogę dowolnie wybierać?

     

     

    Nie, no jak taki sam rozmiar? Po pierwsze rysunek drugi obrazuje tylko jak można dany klocek obracać ale każdy z klocków składa się zawsze z 4 malutkich kwadracików a nie z matrycy 4x4. Po drugie klocków nie można dzielić na kawałeczki (pojedyncze kwadraciki).

    Jednym słowem zależy mi na jakby takim układaniu klocków w siatce n x n jak to robi człowiek w tetrisie czyli tak dobiera poszczególne klocki aby nie zostawiać wolnych miejsc ale tak jak zaznaczyłem wcześniej, nie robię tetrisa.

  12. Chodzi po prostu o upakowanie jak największej liczby klockół z pewnego zbioru do tablicy n x n?

    Dokładnie o to czyli mam jakiś zbiór klocków o kształtach jak w tetrisie. Interesuje mnie upakowanie jak największej liczby klocków do tablicy n x n w taki sposób aby zostało jak najwięcej miejsca. Dochodzi jakiś następny klocek (niech to będzie "T") i następuje przesortowanie tablicy tak by znowu było jak naj mniej straconego "materiału".

     

    Najlepiej wyobrazić sobie drewnianą płytę w której mamy wyciąć określony zbiór desek w kształcie figur tetrisa tak aby było jak najmniej odpadów i pozostał jak największy kawałek płyty w całości. I teraz jeszcze 2 warianty czyli jeden gdy te klocki można dowolnie obracać (reguły jak na drugim obrazku) oraz drugi wariant gdy klocki nie mogą być obracane (bo załóżmy ta drewniana płyta ma jakiś wzór i jest istotne czy wycinamy figurę w pionie czy poziomie).

  13. Przez upakowanie rozumiesz upchanie w każdą wolną komórkę kawałka klocka? Czy mają być jakieś wolne przestrzenie między nimi?

    Upchanie w każdą wolną komorkę ale bez dzielenia klocków na mniejsze kawałeczki. Im mniej wolnej przestrzeni tym lepiej. Coś jak upakowanie w prostokąt jak najwiekszej ilości klocków o kształtach tetrisopodobnych. Czytałem też trochę o "problemie optymalnego rozkroju" ale nie znalazłem implementacji algorytmu który by ten problem rozwiązywał.

  14. Witam!

    Każdy pewnie kojarzy klocki jakie występują w tetrisie. Zresztą dla przypomnienia:

     

    Tetrominoes_letter_oriented.png

    oraz wszelkie możliwe położenia (19):

    tetris_diagram_pieces_orientatio.jpg

     

    Nie robię tetrisa, interesuje mnie zupełnie coś innego.

    Poszukuję algorytmu który by pozwalał na upakowanie klocków o takich kształtach w dowolnej tablicy dwuwymiarowej tak aby zniwelować straty wolnego niewykorzystanego miejsce. Rodzaje klocków mogą się powtarzać oraz nie występować wcale. Interesują mnie 2 opcje - gdy klocki mogą być dowolnie obracane podczas sortowania oraz gdy obrót jest zakazany (ale "na wejściu" oczywiście klocki dowolnie obrócone czyli 19 możliwych kombinacji).

    Znalazłem "algorytm plecakowy" ale tam zupełnie pomija się kształt obiektów a jedynie wagę (objętość) a mnie interesuje konkretne posortowanie elementów tak by upakować ich jak najwięcej lub aby zostało jak najwięcej miejsca w jednym dużym kawałku.

  15. Czyli mogę powiedzieć, że na tym kończy się wspaniałość Game Maker'a i pojawia się brutalna rzeczywistość :( ?

    Szkoda, trzeba czekać na nowe wersje :/

     

    Nie oglądałem Twojego kodu ale wydaje mi się, że zwaliłeś całkowicie podejście do tematu. Polecam artykuł na stronie epomoce.pl. Konkretnie seria artykułów "Giganty Świata 2D". Tam jest rewelacyjne podejście do tematu ogromnych map a z zamieszczonego screena z Twojej gry wydaje mi się, że artykuł idealny dla Ciebie.

    Ja tylko zawsze zastanawiałem się jak w tak gigantycznej mapie rozwiązać problem "życia" - jeśli gdzieś daaaaleko poza viewem jakiś załóżmy królik ma być zeżarty przez wilka bo akurat jeden z drugim wszedł sobie w paradę to jak to zasymulować jak przecież te obiekty są w danej chwili zupełnie nieaktywne i są tylko danymi w tablicy :)

×
×
  • Dodaj nową pozycję...