Skocz do zawartości

I am vader

Użytkownicy
  • Postów

    1 887
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    20

Treść opublikowana przez I am vader

  1. I am vader

    Galeria Grafik

    inb4 leo po raz dziesiaty przypomina gmclanowiczom, ze jego projekt nie jest w gm'ie.
  2. Dokładnie. Ja to nawet umieszczę mini poradnik w razie jakbyś nie wiedział o czym seven mówi: Bateria znajduje się na płycie głownej, jest duża i płaska. Otwórz komputer i nie będzie problemu z jej zlokalizowaniem. Z tego co się orientuję, zawsze jest blisko południowego mostka, więc będzie zawsze gdzieś blisko około tego miejsca widocznego poniżej: W przypadku laptopa w zależności od jego modelu możesz mieć bezpośredni dostęp do bateri po otworzeniu jednej z klapek pod spodem urządzenia(jeżeli tak jest zbudowany, w niektórych możesz musieć rozkręcić całą podstawę)
  3. I am vader

    Galeria Grafik

    Wiem ze obraz byl kozacki ale z glowy mi wylecial, przyszedlem znowu zobaczyc a sie okazuje ze Imageshack usunal w 3 dni.
  4. Nie wiem co to za moda zeby gry typowo mobilne wrzucac na steam ale niby to sie sprzedaje, wiec pewnie nie jestem targetem i tyle..
  5. Jesteś tu nowy i już Cię lubię. Witam na gmclanie.
  6. To jest niepoprawne. ustawiasz(i resetujesz) target po to aby rysować NA surface. Aby narysować surface sam w sobie, rysujesz go NORMALNIE .
  7. Możesz surface rysować przez istniejący obiekt lub nowy obiekt którego zadaniem może być właśnie pilnowanie tego surface'a, wybór należy do Ciebie. Istotne jest, abyś go rysował w evencie Draw i aby miał DEPTH mniejszy od innych obiektów, bo krew jest przecież pod wszystkim innym, na podłodze.
  8. Mialem cos wczoraj napisac, ale nie czulem jak sie zabrac za cos rzetelniejszego. Napisze Ci pare informacji, nie beda wystarczyly, ale krok po kroku dojdziesz do tego z pomoca kilku osób(bo wątpie aby jednej osobie chciało się wszystko pisać). Surface to przestrzeń na której rysujesz jak na obrazku czy jak na ekranie. Podstawowo kiedy coś rysujesz, jest to automatycznie rysowane do surface'u aplikacji, czyli powierzchni która jest wyświetlana w oknie gry. W momencie w którym zaczynasz rysować do innego surface'u niż ekran gry, koordynaty gry nie są istotne. W grze pozycja [0,0] to lewy górny róg room'u. W nowym surface, [0,0] to lewy górny róg surface, nie ważne gdzie go chcesz potem narysować. Krok 1: Stwórz surface Aby stworzyć surface musisz skorzystać z funkcji surface_create(szerokosc,wysokosc). Ta funkcja stworzy surface podanych wymiarów i zapisze go w pamięci karty graficznej. Ta druga połowa zdania jest bardzo ważna. Są tutaj 3 rzeczy to zapamiętania: 1.Surface może zostać usunięty przez system, więc jeżeli będziesz chciał się odwołać do nieistniejącego, wywali błąd. 2.Surface należy usunąć kiedy nie będziesz go potrzebował. Jeżeli ten surface ma ślady krwi na mapie, to powinieneś go usunąć, albo chociaż wyczyścić, przechodząc do innego poziomu. 3.Surface zajmie trochę miejsca w pamięci. Tę pamięć możęsz wyliczyć tak: Szerokość * Wysokość * 4 Bajtów. Np. 1024x1024 będzie ważyło 1024*1024*4 = 4194304 Bajtów = 4096 Kilobajtów = 4Megabajty. Gratuluję, wiesz jak policzyć czy nie wysadzisz komuś karty graficznej w powietrze. Kiedy wywołasz funkcję surface_create zwróci ona ID surface'a, więc musisz je sobie zapisać do jakieś zmiennej. GML MojSurface = surface_create(room_width,room_height); //Stworzy surface wymiarow roomu i zapisze jego ID do zmiennej MojSurface</span> Krok 2: Edytuj surface Tutaj podam 4 kluczowe funkcje dla pracy z surface'ami. Rysowanie na surface to jego zmienianie. Jeżeli zastanawiało Cię dlaczego surface jest dobre do śladów krwi, to dlatego, że nie wyczyści się. Normalnie, za każdym razem gdy ekran ma być narysowany, jest on całkowicie czyszczony a następnie wszystkie elementy są na nowo na niego rysowane. Surface się wyczyści tylko kiedy i jeżeli będziesz tego chciał. Aby rozpocząć edycję surface korzystasz z funkcji surface_set_target(ID Surface'a), gdzie w argumencie podajesz nazwę zmiennej w której wcześniej zapisałeś ID surface. Zanim jednak rozpoczniesz pracę nad surface, musisz się upewnić, że nie został usunięty z pamięci(to się może stać jak zminimalizujesz grę). Do tego służy surface_exists(ID surface). Jeżeli surface nie istnieje chciałbyś go wpierw na nowo stworzyć. GML if !surface_exists(MojSurface) then MojSurface = surface_create(room_width,room_height); Tutaj bardzo ważna rzecz do zapamiętania - Kiedy rysujesz na surface, zostaje tak dopóki nie zresetujesz rysowania spowrotem do normalnego. Musisz pamiętać o wyłączeniu rysowania, bo inaczej wszystko się walnie. Do tego służy surface_reset_target(). Oznacza to, że Twoje rysowanie na surface mieści się między surface_set_target(ID) a surface_reset_target(). Ostatnia rzecz przy pracy z surface do zapamiętania, to że kiedy stworzysz surface, nie jest on przezroczysty. Zazwyczaj chcesz aby był, od tego jest funkcja rysowania zwana draw_clear_alpha(0,0) . W twoim przypadku chcesz wyczyścić surface tylko raz - kiedy zostanie stworzony. Chcesz to zrobić tylko raz, ponieważ chcesz się pozbyć nieprzezroczystych czesci surface'a, ale nie chcesz sie pozbywac namalowanych sladow krwi. W tym momencie caly kod wygladalby tak: GML //Create MojSurface = surface_create(room_width,room_height); surface_set_target(MojSurface); //Aktywuj ten surface draw_clear_alpha(0,0); //Wyczysc surface surface_reset_target(); //Wylacz surface</span> GML //Update surface, np. w Step if !surface_exists(MojSurface) //Jezeli surface nie istnieje { MojSurface = surface_create(room_width,room_height); //Stworz go na nowo surface_set_target(MojSurface); //Aktywuj ten surface draw_clear_alpha(0,0); //Wyczysc surface surface_reset_target(); //Wylacz surface } surface_set_target(MojSurface); //Start rysowania //Cos co rysujemy //Jeszcze cos co rysujemy //A tutaj tez cos jeszcze surface_reset_target(); //Koniec rysowania</span> Krok 3: Narysowanie surface w grze Aby surface byl widoczny w grze musisz go narysowac w grze. Robisz to tak samo jak ze spritami i backgroundami. Uzywasz do tego funkcji draw_surface(ID Surface,x,y) Wiecej szczegolow mozesz przeczytac w dokumentacji w GM'ie lub w wersji zamieszczonej online. Uzyteczne linki: 1.Ogólnie o Surface'ach 2.surface_create 3.surface_set_target 4.surface_reset_target 5.draw_clear_alpha 6.surface_exists 7.draw_surface
  9. Istnieje maciupka szansa, że funkcja "color sprite" z klocka nie zapisuje sie w image_blend, chociaz wydawalo mi sie, ze tak wlasnie jest. Wie ktos cos wiecej na ten temat? Sprawdzil ktos?
  10. Wybrałeś kolor z palety, prawda? Powinieneś tam mieć RGB wyświetlone. Edit: Wciśnij "Definiuj kolory niestandardowe" aby wyskoczyło okienko z widocznym RGB
  11. Są dwa wyjścia: 1. Tak jak napisales, kopiowac. 2.zrobić tak: 2.1 Zrobić nowy obiekt który nie występuje w grze i nazwać go np. ObjKlikalnyObiekt 2.2 Ustawić klikalnym obiektom ten ObjKlikalnyObiekt jako PARENT 2.3 W "with" odnosić się do PARENTA. Nie musi istniec w grze, wystarczy ze jest w edytorze. W ten sposob ten with odniesie sie do WSZYSTKICH obiektow ktore maja ObjKlikalnyObiekt jako parent.
  12. tam powinno być w tym left pressed GML if punkt = true { punkt = false global.punkty +=2 } To dlatego, ze zanim dodasz punkty chcesz sie upewnic, ze nie zostaly one juz wczesniej dodane z tej instancji. Jezeli nie zostaly dodane (punkt = true) to zapisujesz ze zostaly juz dodane(punkt = false) i dodajesz punkty (global.punkty+=2)
  13. Wiem, że robisz to na klockach, ale rozwiązanie dam w kodzie. Postaram się go wyjaśnić i szczerze liczę, że postarasz się zapamiętać funkcje których Cię tutaj nauczę. Po pierwsze musisz znać kolor. Ustawiłeś zielony, ale czy znasz jego RGB? Musisz je znać, bo komputer nie zna pojęcia "zielonego" jako szereg różnych barw. Najpierw musisz odwołać się do wszystkich obiektów wśród których mogą znajdować się te których szukasz. Aby odwołac się do wszystkich instancji obiektu używasz "with" wygląda to następująco: GML with(NazwaObiektu) { //Kod ktory ma sie wykonac w tych obiektach } Jeżeli obiekt się nazywa ObjCelDoWcisniecia to bedzie to wygladalo tak: GML with(ObjCelDoWcisniecia) { } Między { i } wpisuje się to co ma się z nimi dziać. Jeżeli chcesz coś sprawdzić to używasz if, czyli po polsku "Jeżeli". Dosyć proste, prawda? Ty chcesz sprawdzić to: Jeżeli kolor sprite'a to zielony to.... Teraz jak sprawdzić kolor sprite'a? Kolor sprite'a jest zapisany w zmiennej image_blend. To mamy już połowę zdania: GML if image_blend //Jeżeli kolor sprite'a....</span> Teraz aby porównać coś z czymś używasz znaku równa się, czyli = . Teraz musimy znaleźć kolor który ma nam sprawdzić. Do tego służy make_color_rgb(R,G,B ). Wewnąrz nawiasu są trzy litery: R,G,B. To te wartości RGB koloru który wybrałeś. Jeżeli twój wybrany kolor to np 34,177,76 (typowa paintowa zieleń) to wygląda tak: GML make_color_rgb(34,177,76) Okej to mamy już całe pytanie: GML if image_blend = make_color_rgb(34,177,76) //Jeżeli kolor sprite'a to kolor [34,177,76](nasza wybrana zieleń).... { //Tutaj to co się stanie jeżeli odpowiedź brzmi TAK } Okej, jeżeli kolory się zgadzają, to chesz usunąć obiekt, prawda? Od tego jest instance_destroy() Cały kod powinien wyglądać tak: GML with(ObjCelDoWcisniecia) { if image_blend = make_color_rgb(34,177,76) { instance_destroy() } } Notka od autora: Prosze postaraj sie zapamietac to co tutaj napisalem, poniewaz jezeli bedziesz tylko kopiowac i wklejac rozwiazania podane Ci przez innych, nigdy sie niczego nie nauczysz. Pomoc od innych jest wazna, ale musisz z niej wyciagnac co sie da, zapamietac co sie da i byc troche madrzejszym. Mowie to, bo mielismy i mamu tu takich ktorzy nigdy sie niczego nie nauczyli bo nie uczyli sie kodu od innych uzytkownikow, tylko go wklejali na slepo bez zrozumienia. (chyba sobie to wkleje do sygnatury)
  14. Cóż, TeeGee nie zrobił Magi Redux / Magi 2, więc wziąłeś odpowiedzialność na siebie. Mam nadzieję, że tak grywalne jak wygląda.
  15. Okej to tak dla zabawy mam rozpiskę: Tematy w 2015: 22 Pierwszy temat w 2015: 19.06.2015 To daje 22 tematy w 2 miesiące i 1 dzień. To daje 1 temat na 3 dni. Okej ale lecimy dalej Użytkownicy którzy Ci próbowali pomóc w tych 21(odjalem ten temat) tematach: (sortowanie po ilosci postow) Użytkownik[ilość unikalnych tematów / Ilość postów] jasiek_209[5/32], Threef[8/29], kt1117[6/22], I am Lord[6/17], ANtY[6/17], Boad[7/14], Mateusz Nejman[3/8], Sutikku[5/7], Gnysek[5/6], I am Vader[3/4], Uzjel[3/3], MaxGaming[2/2], bLaze[2/2], Orcadiusz[1/2], Arathar[1/2], PatrykPlayingPOLSKA[1/2], Explosivo[1/2], Ignatus[1/1], Wkurzyłeś dwóch najbardziej pomocnych użytkowników(Threef i ANty), posty jaśka są bardzo mało pomocne, I am Lord pomogl w pierwsych 6 tematach, a potem przestal Ci odpisywac, wiec na jego pomoc bym nie liczyl i to tylko kwestia czasu zanim kt1117 znudzi sie mowienie do sciany. Lada dzien nikt Ci nie pomoze. Posluchaj nas i zacznij sie uczyc poki jeszcze ktos Ci chce dawac rady. A i masz tak epicką historię double i triple postów, że gdyby jakiemuś modowi chciało się wstawiać warny, miałbyś jakieś 150%, więc byłoby dużo banów. Ogarnij się.
  16. Cygnus, raz Ci pomoglem i juz leciales na PW pytac sie mnie o rozwiazanie. Jestem suerem ktory jak mial blad siedzial nad nim 3 dni albo i tydzien aby samemu go rozwiazac. I rozumiem wszystkie co pisze, jestem w stanie zaprogramowac wszystko czego mi trzeba. Ty natomiast powinienes dostac medal za najwiecej zalozonych tematow w dziale pytan ostatniej dekady.
  17. Ty nawet nie masz pojęcia co zmieniasz ani jak to działa, jaki jest sens, żebyś cokolwiek zmieniał? Naucz się a nie męczysz gmclan.
  18. Powiedzialbym, zebys usunal z 10 utworow, moze gra nadal bedzie wazyc 95MB, ale to juz lepiej.
  19. I nie uznałeś tego za problem? Also 30MB muzyki na mobilce brzmi jak dużo. Z tego co pamiętam to typowe MP3 ciągnie z 5MB na 4 minuty muzyki, więc albo masz tam prawie pół godziny muzyki której nikt nie słucha, bo ludzie na telefonach wyciszają dźwięk, albo masz za wysoko ustawioną jakość, czego na mobilce i tak nie usłyszysz. Edit: Nie wiem skąd wziąłem, że to mp3. Ale pozostaję przy swoim: 30MB?!
  20. 2.5D? Spodziewałem się jRPG lub izometryka.
  21. Nie mów mojemu dziadkowi co ma robić
  22. Duża ilość udanych programistów i game developerów zaczyna między 9 a 14 rokiem życia.
×
×
  • Dodaj nową pozycję...