-
Postów
39 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Hawaxi
-
samoczynna zmiana przezroczystości na kolor czarny
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania zaawansowanych
Problem rozwiązany, wystarczyło discardować pixele z alphą <= 0, może nie jest to wydajne rozwiązanie ale działa. if (gl_FragColor.a <= 0.0) { discard; } -
samoczynna zmiana przezroczystości na kolor czarny
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania zaawansowanych
Próbowałem na wszelkie sposoby zmodyfikować kod niestety nic to nie dało, walcze dalej. Ktoś ma inne pomysły? Podsyłam kod shaderu, może uda się komuś coś zdziałać. varying vec2 v_vTexcoord; varying vec4 v_vColour; uniform float Position; vec3 rgb2hsv ( vec3 color ) { vec4 K = vec4 ( 0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0 ); vec4 p = mix ( vec4 ( color.bg, K.wz ), vec4 ( color.gb, K.xy ), step ( color.b, color.g ) ); vec4 q = mix ( vec4 ( p.xyw, color.r ), vec4 ( color.r, p.yzx ), step ( p.x, color.r ) ); float d = q.x - min ( q.w, q.y ); float e = 1.0e-10; return vec3 ( abs ( q.z + ( q.w - q.y ) / ( 6.0 * d + e ) ), d / ( q.x + e ), q.x ); } vec3 hsv2rgb ( vec3 hsv ) { vec4 K = vec4 ( 1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0 ); vec3 p = abs ( fract ( hsv.xxx + K.xyz ) * 6.0 - K.www ); return hsv.z * mix ( K.xxx, clamp ( p - K.xxx, 0.0, 1.0 ), hsv.y ); } void main ( ) { gl_FragColor = texture2D ( gm_BaseTexture, v_vTexcoord ) * v_vColour; vec3 hsv = rgb2hsv ( gl_FragColor.rgb ); vec3 shifted_color = vec3 ( hsv.x + Position, hsv.y, hsv.z); gl_FragColor.rgb = hsv2rgb ( shifted_color ); gl_FragColor *= v_vColour; } -
samoczynna zmiana przezroczystości na kolor czarny
Hawaxi opublikował(a) temat w Pytania zaawansowanych
Witam, Podczas eksportowania projektu do ios'a, przezroczyste tło w gifach staje się czarne. Jest to wina shaderów zmieniających hue owych gifów(gdy je usuwam tło staje się przezroczyste i wszystko działa poprawnie). Natomiast przy tworzeniu aplikacji na windowsa lub inna platformę problem ten nie występuje. Spotkaliście się z podobną komplikacją? Jakieś pomysły? Próbowałem usunąć kolor czarny w kodzie shaderu, wystąpił ten sam problem. kod: if(vec3(gl_FragColor) == vec3(0.0)) gl_FragColor.a = 0.0; Proszę o szybką pomoc. -
Wykrywanie czy dany obiekt ma ten sam image_index
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania początkujących
Okej, głupia literówka wtargnęła do kodu. Już wszystko działa, dzięki za pomoc ;) -
Wykrywanie czy dany obiekt ma ten sam image_index
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania początkujących
Dzięki za pomoc! Na 2 tych samych obiektach działa ale chciałbym teraz dodać inny obiekt. Niestety przy 2 różnych obiektach nic się nie dzieje. Jakiś pomysł? -
Wykrywanie czy dany obiekt ma ten sam image_index
Hawaxi opublikował(a) temat w Pytania początkujących
Witam, Mam dużo różnokolorowych tych samych obiektów w pokoju i chciałbym aby gra robiła coś, gdy obiekty o tym samym kolorze się zderzą. Niestety poniższy zapis nie działa, ma ktoś jakąś alternatywę? Collision event GML if image_index == other.image_index{ room_restart(); } -
Left mouse click - usuwaj obiekt na wierzchu
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania początkujących
Super, wszystko śmiga dzięki za pomoc. :) -
Left mouse click - usuwaj obiekt na wierzchu
Hawaxi odpowiedział(a) na Hawaxi temat w Pytania początkujących
no właśnie chodzi o obiekt z najmniejszym depth pod myszką. -
Witam, W pokoju tworzy mi się pełno tych samych obiektów obj_black one się przemieszczają i czasami na siebie nachodzą. Chce aby po kliknięciu lpm obiekt na wierzchu się usuwał. W create: GML depth = irandom_range(1,999999); lista = ds_list_create(); W left pressed: GML ds_list_add(lista,depth); ds_list_sort(lista, true); //sortuj najmniejszy ---> najwiekszy global.szukam = ds_list_find_value(lista,1); // 1- najmniejszy if depth = global.szukam { instance_destroy(); global.szukam = 0; } W tym kodzie muszę klikać 2 razy lpm (nie wiem dlaczego), do tego czasami nawet obiekty nie na wierzchu się usuwają.
-
Okej, przypisałem wszystko do zmiennych dzięki za radę ;)
-
Okej zrobiłem Alarm i troche opóźniłem działanie teraz wszystko działa dzięki za pomoc :)
-
Okej dzieki wszyskim za pomoc, ale wciąż mam z tym problem. Mógłby mi ktoś wytłumaczyć co robię źle? HTTP: GML strona = http_get("https://eune.api.pvp.net/api/lol/eune/v1.4/summoner/by-name/hawaxi?api_key=") wynik = json_decode(strona); gracz = wynik[?"hawaxi"] Draw: GML draw_text(x,y,gracz[?"summonerLevel"]) Wywala mi błąd z draw_text: Push :: Execution Error - Variable Get 100000.gracz(100002, -2147483648) at gml_Object_object0_DrawEvent_1 (line 1) - draw_text(x,y,gracz[?"summonerLevel"]) Jak wrzuciłem wszystko do draw event, pokazywalo undefined... Pozdrawiam Hawaxi :)
-
Witam, Czytałem dużo tematów i natknąłem się na to json_decode ale nie za bardzo rozumiem jak działa, a w dokumentacji nie mogłem go znaleść.Chciałem pobrać informacje ze strony i później wyświetlać je w mojej grze. Czy moge wyjąć informacje z tej strony jeśli jej kod zródłowy wygląda tak: {"hawaxi":{"id":28669616,"name":"Hawaxi","profileIconId":552,"summonerLevel":30,"revisionDate":1432142221000}} Mój kod: GML Asynchronous HTTP event: strona = http_get("https://eune.api.pvp.net/api/lol/eune/v1.4/summoner/by-name/Hawaxi?api_key="); wynik = json_decode(strona); draw event: draw_text(x,y,wynik); Pozdrawiam Hawaxi
-
Hmm wczesniej próbowałem z file_text_open_read ale cos nie działało, teraz działa. Zrobiłem przedchwila nowy projekt z tym samym kodem tylko file_text_open_read i znowu ten sam błąd. Nie rozumiem O.o mógłbyś sprawdzić na swoim komputerze czy game maker tak samo reaguje?
-
Witam, Ostatnio zacząłem się bawić funkcjami plików tekstowych no i ciągle pokazuje mi błąd: File is not opened for reading. Nie rozumiem jak nie jest otwarte jeśli używam funkcji file_text_open_write. Mój kod: GML pass = file_text_open_write(working_directory + "\pass.txt"); message = file_text_read_string(pass); show_message(message); file_text_close(pass); Stworzyłem pass.txt w tym samym folderze w którym jest moja gra (.project).
-
Dzieki stary, bardzo mi pomogłeś :lol: 3 dni nad tym siedziałem a rozwiazanie było tak proste.
-
Okej, problem polega na tym że tworzy to kopie jednego obiektu obj_wall a nie wszystkich. Mój kod: obj_controller > mouse global right button GML with(obj_wall) { instance_create(obj_wall.x+64,obj_wall.y+64,obj_wall); } obj_controller > mouse global left button GML instance_create(floor(mouse_x/64)*64,floor(mouse_y/64)*64,obj_wall); No i jeszcze obiekt obj_wall który nosi sprite o wielkości 64x64. Prosze o pomoc!
-
Witam, chciałbym skopiować wszystkie obiekty w roomie które są obiektami typu obj_wall. Zrobiłem tak ale coś mi tutaj nie działa, wydawało mi się że to przechodzi przez wszystkie obiekty ale chyba jest inaczej skoro nie działa: with(obj_wall) { ... }
-
Miałeś racje używałem draw_sprite a nie instance_create :P Dzieki wszystkim za pomoc już wszystko działa.
-
To musi być object a nie sprite.
-
okej zrobiłem 5 obiektów żeby to przetestować dodałem je do listy,stworzyłem pętle itd. ale i tak wyświetlają się zupełnie inne obiekty których nie dodałem do listy... w dokumentacji pisze że mam wpisać wartość: ds_list_add(id, wartość) ale jaką wartość? Próbowałem wpisać w tym miejscu zamiast nazwy obiektów ich id lecz to też nie zadziałało.
-
Okej ale głupi błąd zrobiłem... Nie ma błędu ale też nic się nie wyświetlało. Zmieniłem event z create na draw i teraz wyświetla się zupełnie inny obiekt którego wcale nie dodałem do ds_map...
-
Skorzystałem z twojej porady i zrobiłem to z ds_map: GML inv = ds_map_create(); ds_map_add(inv, object, 1); ds_map_add(inv, object100, 1); ds_map_add(inv, object101, 1); ds_map_add(inv, object102, 1); ds_map_add(inv, object103, 1); for (i=0;i<ds_map_size(inv);i++) { if i != ds_map_size(inv)-(ds_map_size(inv)+1) // Sprawdzam czy to jest pierwszy obiekt w pętli { item = ds_map_find_next(inv, object); draw_sprite(item, 1, x+(i*65), 64); } else first = ds_map_find_first(inv); draw_sprite(first, 1, x+(i*65), 64); } Zrobiłem to całe zmieszanie z tym if w pętli bo nie wiedziałem czy ds_map_find_next zalicza też 1 obiekt. W tym kodzie wyskakuje mi coś przy zmiennej first: Push :: Execution Error - Variable Get -1.first(100039, 0) at gml_Object_obj_inv2_Create_0 (line 20) - draw_sprite(first, 1, x+(i*65), 64); I mam jeszcze jedno pytanko, czy jak zrobie: GML draw_sprite(ds_map_find_first(inv), 1, x+(i*65), 64); Zamiast: GML first = ds_map_find_first(inv); draw_sprite(first, 1, x+(i*65), 64); Czy to ma jakieś znaczenie czy też to jest poprostu ze względów stylistycznych (żeby łatwiej się odczytywało kod)?
-
Aha i chcę później dodać sklep do mojej gry i chciałbym żeby te obiekty które tam kupisz też się pojawiały na tej liście (dopiero jak je kupisz). Jak patrzyłem w internecie to nie żauważyłem opcji która dawała by możliwość dodania pojedyńczego obiektu do tego stacka. Jeśli jest to mnie poprawcię.
-
Nie wiem dlaczego ale ten kod co mi podałeś Threef, on nie działa. A twojego sposobu id nie użyłem bo id moich obiektów nie są po kolei...