Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 806
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    139

Odpowiedzi opublikowane przez gnysek

  1. @Ignatus GMS 1.0 wydano w maju 2012, wiec 6 lat temu, a nie 3. To norma, że co kilka lat wychodzi nowa wersja oprogramowania i płacisz za licencję od nowa, wszędzie tak jest, a tam, gdzie się ludzie za dużo wkurzali na takie rozwiazanie zrobiono abonament. Była zniżka na przejście przez niemal rok. Zauważ, że GMS2 jest na rynku już 1,5 roku. Poza tym, myślisz, że za 340zł ile czasu można aktualizować kod do programu? Aż tak dużo GMS też nie kupuje, a miesięcznie firma potrzebuje sprzedać jakieś 500-800 takich licencji, żeby opłacić pracowników, biuro i serwery. Z pustego sie samo nie zrobi.

  2. Dnia 9.03.2018 o 12:36, Ignatus napisał:

    Nie rozumiem za bardzo pytania..

     

    Mam np sytuację taką

    trafiam wroga i mam w evencie kolizji

    
    audio_play_sound_at(snd_hit,x,y,0,100,600,1,0,10)
    audio_play_sound_at(snd_pain,x,y,0,100,600,1,0,20)

    I odtwarza sie to losowo - raz oba,raz jeden z nich,raz żaden - a powinny zawsze oba naraz

     

    edit:dodatkowo po pewnym czasie przestaja grac jakiekolwiek dzwieki,gra staje sie niema :/

     

    Teoretycznie jest 128 kanałów na dźwięki (na raz) które ustawia audio_channel_num - a korzystanie ze zwykłego audio_play_sound() powoduje to samo ? Ewentualnie źle używasz tej funkcji - x i y to nie powinny być pozycje gracza, tylko pozycje +/- względem audio_listener_position(x,y,z) - zapewne nie zmieniasz tej pozycji, wiec domyślnie masz 0,0,0, jak gracz odejdzie za daleko to po prostu głośność = 0 i dlatego nie gra.

  3. 22 godziny temu, Armez napisał:

    Albo jestem jakiś głupi albo ślepy albo oba na raz bo nigdzie nie mogę znaleźć rozwiązania tego. Otóż chcę zrobić sprite z surfac-a jednak wszystko kończy się informacją

    
    not set before reading it.

    Jakbym cały czas coś źle wpisywał. Oto kod jaki mam.

    
    if surface_exists(global.surf)
    {
    surface_set_target(global.surf);
    if a=0 {draw_circle_colour(x,y,g/6,global.tt,global.tt,0)};
    if a=1 {draw_circle_colour(x,y,g/6,aa,aa,0)};
    }
    else
    {
    global.surf = surface_create(225,352);
    surface_set_target(global.surf);
    if a=0 {draw_circle_colour(x,y,g/6,global.tt,global.tt,0)};
    if a=1 {draw_circle_colour(x,y,g/6,aa,aa,0)};
    }
    sprite70 = sprite_create_from_surface(global.surf, 0, 0, 225, 400, true, true, 112.5, 200);
    surface_reset_target();

    Surface został zrobiony poprawnie bo wszystkie inne opcje działają.

    Proszę o pomoc... najlepiej taką co wytknie mi jakąś oczywistość i pokaże jakim kretynem jestem XD

     

     

    @Armez:

     

    if (!surface_exists(global.surf)) {
    	global.surf = surface_create(225,352);
    }
    
    surface_set_target(global.surf);
    var _c = (a == 0) ? global.tt : aa;
    draw_circle_colour(x,y,g/6,_c,_c,0);
    surface_reset_target();
    
    sprite70 = sprite_create_from_surface(global.surf, 0, 0, 225, 400, true, true, 112.5, 200);

    Do tego:

    1) w GMS surface da się zmieniać tylko w evencie draw
    2) jak robisz to co krok, to będziesz mieć milion spritów za chwilę
    3) nie musisz tworzyć sprite, możesz bezpośrednio rysować surface na ekranie

    4) dlaczego sprite jest większe niż surface ?

×
×
  • Dodaj nową pozycję...