Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 809
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    140

Aktywność reputacji

  1. Super (+1)
    gnysek otrzymał(a) reputację od szpaq99 w Nad czym aktualnie pracujesz?   
    Obraz się przerzuca lewo na prawo i daje nieco pomniejszony w jakiejś kolorowej ramce i generalnie jak nikt nie zgłosi jest spoko
     
    Widziałem kiedyś gwiezdne wojny, tak na 70% ekranu, wyrównane do lewej góry, a w tle był background parallax z bezszwowym obrazkiem... bananów.
  2. Lubię (+1)
    gnysek przyznał(a) reputację dla nowy_user w Temat zbiorczy na drobnostki   
    Ooo i oto mi właśnie chodziło , teraz praca z GMem stanie się o wiele przyjemniejsza! Dzięki za pomoc
  3. Lubię (+1)
    gnysek otrzymał(a) reputację od nowy_user w Temat zbiorczy na drobnostki   
    Masz chyba też zakładki ( bookmarks ), poczytaj w manualu.
  4. Lubię (+1)
    gnysek przyznał(a) reputację dla I am Lord w Niedziałająca funkcja na losowanie liczb   
    Tak nie w temacie losowości to dostrzegłem tutaj błąd logiczny że blok:
    if generator != false { los = irandom_range(0, 15); if los < 15 { instance_create(x, y, obj_biom_trawa); pustynia += 1; } if los = 15 { if pustynia > 0 { instance_create(x, y, obj_biom_pustynia); pustynia += 1; } else { instance_create(x, y, obj_biom_trawa); pustynia += 1; } } }  
    Nigdy się nie wykona bo wyżej zawsze ustawiasz generator = false
  5. Lubię (+1)
    gnysek przyznał(a) reputację dla Korodzik w CA2018 - Wyniki!   
    W zasadzie 4, bo w tym roku przez przeoczenie ktoś nominował ten sam Gnyskowy przykład, co w zeszłym roku.
  6. Lubię (+1)
    gnysek przyznał(a) reputację dla Konrad-GM w Temat zbiorczy na drobnostki   
    Cześć, nie wykonujesz skryptu, tylko porównujesz jego ID. Skrypty wywołujesz jak każdą inną funkcję, czyli w pierwszym if-ie daj:
    if(scr_arrow_can_hit() == 1) (...)  
    Dodatkowo dodam od siebie, że zamiast używać other w skryptach, to powinieneś przesyłać dane poprzez parametry. Poprawia czytelność kodu oraz pozwala używać tego skryptu w różnych miejscach a nie tylko w Collision Event:
    ///scr_arrow_can_hit(array, against_id) var arr = argument0; var inst = argument1; var i, al = array_length_1d(arr); for(i=0; i<al; i++) { if(arr[i] == inst) return 0; } return 1;  
    Potem używasz tego skryptu w ten sposób:
    if(scr_arrow_can_hit(other.array_objectID, id) == 1) (...)  
  7. Lubię (+1)
    gnysek przyznał(a) reputację dla Flashek w Nad czym aktualnie pracujesz?   
  8. Super (+1)
    gnysek otrzymał(a) reputację od Temporal w Skalowanie się obiektu, gdy ten zetknie się z tilesem.   
    Jak chcesz naprawdę na skróty, to ustawiaj obiekty solid i rozciągaj je na całą wysokość danej ściany. W przypadku powyższego screena, można na 5 obiektach zrobić całe kolizje w grze zmieniając x-scale / y-scale . Jak etapy nie są ogromne, albo dodasz deaktywację poza ekranem, to naprawdę wdajnościowo nie będzie problemem, a cały powyższy problem poleci do kosza.
  9. Lubię (+1)
    gnysek przyznał(a) reputację dla Konrad-GM w Mnożnik punktów   
    Cześć, możesz stworzyć np. zmienną globalną tj.:
    global.score_multiplier = 0.0;  
    Potem np. przy zderzeniu z bonusem w Collision Event dodawać do tego mnożnika jakąś wartość i uruchamiać alarm u gracza bo bonus po usunięciu poprzez instance_destroy nie wywoła Ci alarmu, np:
    global.score_multiplier += 0.20; other.alarm[0] = room_speed * 60;  
    W alarmie gracza odejmuj bądź resetuj mnożnik. Zależy też, czy chcesz obsługiwać kilka mnożników na raz, to wtedy zamiast alarmów możesz wykorzystać Step Event i ds_list/ds_grid jako timery bonusów.
    global.score_multiplier -= 0.20;  
    Do dodawania punktów możesz stworzyć skrypt, który ułatwi Ci obsługę mnożnika w różnych miejscach projektu:
    /// scr_add_score(score) score += argument0 * (1.0 + max(0, global.score_multiplier));  
     
  10. Super (+1)
    gnysek przyznał(a) reputację dla Saus w Nad czym aktualnie pracujesz?   
    Nie mogłem się zdecydować które wstawić :|
  11. Lubię (+1)
    gnysek otrzymał(a) reputację od Wojzax w Sprzedaż aplikacji - 2 pytania   
    1. To zależy co napiszesz w licencji tak naprawdę.
     
    2. To nie jest prawda. Zgodnie z polskim prawem, jeśli masz zarobek w sposób ciągły, a nie masz umowy o pracę/zlecenie, to jest działalność gospodaracza i MUSISZ założyć firmę. Jeśli jednak zarobek jest jednorazowy, wystarczy opodatkować te pieniądze podatkiem 18%. Nie ma czegoś takiego, że "google daje", bo Google jest firmą z Irlandii, więc daje na tamtejszych zasadach, ale jak pieniądze dotrą do polski to zasady zaczynają być polskie. Tutaj też częsta pułapka - kwota wolna od podatku, czyli 3091zł. To nie jest tak, ze jak pracujesz a dodatkowo sprzedasz program, to do 3091 nie płacisz podatku. Podatek dochodowy jest od WSZYSTKICH pieniędzy razem wziętych zarobionych w danym roku. Tak więc ja np. w tym roku z pierwszej faktury sobie 3019zł odjąłem i nie płaciłem podatku, ale od reszty już 18% poszło (do tego VAT, ZUS). Niektórzy uznają, że jak kasa od google jest raz na miesiąc, to nie prowadzisz ciągle działalności w PL i to już zalezy od interpretacji lokalnego US tak naprawdę, w niektórych faktycznie na 18% byś ujechał. Zwłaszcza, że teoretycznie nawet polski vat zapłacono.
     
    Jest jedno rozwiązanie na granicy legalności - jeśli pieniądze są zarobione w walucie obcej i do sprzedaży doszło zagranicą kraju, no to jak dostaniesz przelew można to uznać za zarobek zagraniczny (jakbyś był zatrudniony tam). Wtedy na polskim PIT wpisujesz to jako przychód z zagranicy 0%. ALE jak zrobią dokładną kontrolę i poproszą o umowę zagraniczną, wszystko się posypie i zapłacisz 75%.

    Na kontrole mają bodaj 5 lat
  12. Super (+1)
    gnysek przyznał(a) reputację dla Wojzax w Nad czym aktualnie pracujesz?   
    Obracanie się znaczników przy kontakcie ze ścianą i jednocześnie dostosowanie się do nachylenia podłoża ostatecznie mi dzisiaj zadziałało uff...
    markerWalk[unit].transform.rotation=Quaternion.Euler(new Vector3(90, 0, 0))*(Quaternion.LookRotation(correctHit.normal,Vector3.up)*(Quaternion.LookRotation(rotationVector,Vector3.up)*Quaternion.Euler(new Vector3(-90, 90, 0))));  

  13. Lubię (+1)
    gnysek otrzymał(a) reputację od Konrad-GM w Wyśrodkowanie textu   
    można, ale pytanie, czy faktycznie tego chcesz może lepiej narysować na surface i wyświetlać tylko jego część ? wtedy łatwiej by było go scrollować
  14. Lubię (+1)
    gnysek otrzymał(a) reputację od nowy_user w Wyśrodkowanie textu   
    A mój skrypt nie działał dobrze ? Nie ten z gml scripts, ten drugi (włącz sortowanie w temacie po dacie, a nie po ocenie).

    W skrypcie Kondrada-GM problemem jest fragment:
    if (c == ' ') { result += word; word = ''; } który jak widzi spację, uznaje, że słowo się zmieściło i dodaje na result, przestając zliczać - tymczasem result powinno się resetować wraz z dodaniem znaku # (a najlepiej jeśli znak C to spacja albo pierwszy znak w linii go nie dodawać).
     
    Czyli jakoś tak:

     
    var stack = '', result = '', text = 'Lorem ipsum dolor sit amet', len = 40; // 40px; for(i=1; i<=string_length(text); i++) var c = string_char_at(text, i); if (string_width(stack + c) > len { result += stack + '#'; stack = (c == ' ') ? '' : c; // W GMS1: if (c == ' ') stack = '' else stack = 'c'; } else { stack += c; } } result += stack; return stack;  
  15. Lubię (+1)
    gnysek otrzymał(a) reputację od Ice Cube w Wyśrodkowanie textu   
    Ma łamać nawet w pół słowa?
     
    var stack = '', result = '', text = 'Lorem ipsum dolor sit amet', len = 40; // 40px; for(i=1; i<=string_length(text); i++) {   var c = string_char_at(text, i);   if (string_width(stack + c) > len {     result += stack + '#';     stack = '';   } else {     stack += c;   } }   result += stack; return stack;  
    Jakoś tak, ale to się na pewno wywali, jak len będzie mniejsze niż najszersza litera.
  16. Super (+1)
    gnysek otrzymał(a) reputację od MaxGaming w Zastąpienie wartości z arkusza CSS wartościami z innego   
    Tak dokładnie powinno to zadziałać, musi być jeszcze jakaś klasa która to nadpisuje - narzędzia deweloperskie powinny pokazać kolejność styli dla danego elementu dla danej własności, który css co ustawił - może pomoże, np.:
     

     
    Jak widać, aż 4 style zmieniają rozmiar fonta (css jest spłaszczony do 1 linijki więc, wszędzie jest :1, normalnie nie powinno być tego problemu).
     
     
  17. Lubię (+1)
    gnysek otrzymał(a) reputację od Temporal w Alarm get z innego obiektu   
    Właśnie jak zadałeś pytanie, tak samo się zastanowiłem - po cholerę to jest ? na pewno to nie pozostałość starych GMów, tego chyba wcześniej nie było - http://gamemaker.info/en/manual - musiało więc dojść w GMS.
  18. Super (+1)
    gnysek otrzymał(a) reputację od Temporal w Alarm get z innego obiektu   
    Powinno, poprawiłem Skopiowałem z linijki wyżej bo na szybko pisałem.
  19. Super (+1)
    gnysek otrzymał(a) reputację od Temporal w Alarm get z innego obiektu   
    string(obj_player.alarm[0])  
    Zmienne alarmowe i tak zawsze istnieją.
     
    Gdyby jednak zmienna nie istniała, odpowiedzią byłoby
    var _a; with(obj_player){_a = alarm_get(0);} draw_text(10,110,"alarm shooting "+string(alarm_get(0))); Zmienne tymczasowe "var" są globalne względem with, co warto pamiętać - pozostałe zmienne zmieniają oczywiście kontekst.
     
  20. Lubię (+1)
    gnysek otrzymał(a) reputację od Ice Cube w Draw_set_font -problem   
    Jakiś inny event draw zmienia font. Funkcje draw powinny być w evencie draw, nigdy step, a już na pewno a nie w eventach jednorazowych - bo po prostu w tej samej klatce obrazu coś zdąży je nadpisać kolejny raz.
  21. Super (+1)
    gnysek otrzymał(a) reputację od PatrykPlayingPOLSKA w Temat zbiorczy na drobnostki   
    @PatrykPlayingPOLSKA Bo ten switch nie jest w żadnej funkcji? On się wykonuje tylko w momencie wczytania strony, a nie non-stop. To nie game maker, że masz ciągle step event Jeśli chcesz go ponownie wywołać, wsadź go w którąś z funkcji.

    https://jsfiddle.net/gnysek/z4w9ncpy/4/ - tu masz działające rozwiązanie
  22. Lubię (+1)
    gnysek otrzymał(a) reputację od SimianVirus7 w Nad czym aktualnie pracujesz?   
    Daj 50% czarne tło.
  23. Super (+1)
    gnysek otrzymał(a) reputację od Temporal w Nowy level, nowy room   
    Dobrze zarządzane struktury nie powodują memory leaków, a wczytywanie roomów spoza gry to sztuka dla sztuki i stracony czas. Naprawdę, to jest minimalny narzut, a zyskasz kilka tygodni roboty i łatwość zarządzania.
  24. Lubię (+1)
    gnysek przyznał(a) reputację dla SimianVirus7 w Celownik, shooter 2d   
    Pierwsze co przychodzi na myśl, to lengthdir'y. Proste i użyteczne.
    Do x celownika dopisujesz x gracza + lengthdir_x(odległość, kierunek);
    Do y celownika dopisujesz y gracza + lengthdir_y(odległość, kierunek);

    Tu masz przykład jak to zrobić w DRAW w obiekcie gracza, który po prostu rysuje sprite celownika. Tym samym sposobem możesz tworzyć obiekty pocisków wystrzeliwane przez gracza 
    draw_sprite(sCross, 0,x + lengthdir_x(150, image_angle),y + lengthdir_y(150, image_angle));  
  25. Lubię (+1)
    gnysek otrzymał(a) reputację od Temporal w Nowy level, nowy room   
    Z tego co kojarzę, jak wracasz do roomu, to ID są te same co w room editorze, bo id instancji można używać jako stałych (constants). Także wracaja do puli. Nie wiem tylko jak z persistent objects.
×
×
  • Dodaj nową pozycję...