Skocz do zawartości

Hawaxi

Użytkownicy
  • Postów

    39
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Hawaxi

  1. 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; }
  2. 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; }
  3. 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.
  4. Okej, głupia literówka wtargnęła do kodu. Już wszystko działa, dzięki za pomoc ;)
  5. 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ł?
  6. 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(); }
  7. no właśnie chodzi o obiekt z najmniejszym depth pod myszką.
  8. 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ą.
  9. Okej, przypisałem wszystko do zmiennych dzięki za radę ;)
  10. Okej zrobiłem Alarm i troche opóźniłem działanie teraz wszystko działa dzięki za pomoc :)
  11. 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 :)
  12. 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
  13. 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?
  14. 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).
  15. Dzieki stary, bardzo mi pomogłeś :lol: 3 dni nad tym siedziałem a rozwiazanie było tak proste.
  16. 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!
  17. 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) { ... }
  18. Miałeś racje używałem draw_sprite a nie instance_create :P Dzieki wszystkim za pomoc już wszystko działa.
  19. To musi być object a nie sprite.
  20. 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.
  21. 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...
  22. 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)?
  23. 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ę.
  24. 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...
×
×
  • Dodaj nową pozycję...