Skocz do zawartości

Pentalinio

Zbanowani
  • Postów

    660
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Pentalinio

  1. Pentalinio

    WARRIOR STUDIO

    Esenthel Engine? Chodzi tu o tę genialną grę ;) ?
  2. Może by tak użyć funkcji floor :rolleyes: ...
  3. Pentalinio

    Najlepsze RPG z RPG Makera

    Powiedział co wiedział, elo >.> .
  4. Tablice prosto mówiąc to są indeksowane zmienne. Potrzebę używania tablic łatwo jest zauważyć kiedy przyjdzie nam na nie zapotrzebowanie. Na przykład, chcielibyśmy aby możliwe było w łatwy sposób wyzerować wartość zmiennej a z liczbą na końcu 2, czyli a2. Wydaje to się banalne, i tak w rzeczywistości jest. GML a2 = 0; Jak widać żadnych problemów nie ma. A gdybyśmy chcieli zmienną a2, a3 itd. ... a99, a100? Akurat wtedy zauważyć by można zbędne występowanie 100 linijek kodu. Dlatego prostszym rozwiązaniem było by w jakiś sposób jednak indeksować te zmienne. Czy GML pozwala na to? Oczywiście, GML jak większość język programowania bądź skryptowych oferuje tablice (w niektórych językach występują tablice asocyjne, tzn. o indeksie w postaci łańcucha znaków, ale to tylko ciekawostka). Jak wygląda składnia nadania wartości tablicy? Przyjrzyj się dokładnie: GML tablica[indeks] = <wartosc>; Generalnie wygląda to całkiem łatwo. Jak to wygląda w praktyce? Przykład, który mogę zaoferować to program do wyliczania średni arytmetycznej spośród podanych przez nas liczb. Kod będzie banalnie prosty: GML maxValues = 0; do { value[maxValues] = get_integer( "Podaj liczbę, lub wpisz zero.", 0 ); maxValues += 1; // powiekszanie indeksu kolejnej tablicy, wydaje sie logiczne, gdyz co chwile bedziemy tworzyc nowa zmienna } until( value[maxValues] == 0 ) // koniec petli, gdy podamy liczbe 0 divAll = 0; // znane z obliczania sredniej ocen, dodajemy wszystkie liczby for( i = 0; i < MaxValues; i += 1; ) { divAll += value; } divAll /= MaxValues; // a potem dzielimy przez maksymalna wartosc show_message( "Średnia tych liczb to: " + string( divAll ) ); game_end(); Przykład może wydawać się trudny. Przeanalizujmy go. Można napisać w punktach proces obliczania średniej w tym przykładzie. Deklarujemy zmienną odpowiedzialną za maksymalną ilość liczb Zaczyna sie pętla. Jeśli Podamy zero, następuje koniec i przechodzimy do następnego punktu. W przeciwnym wypadku wszystko się zapętla. Pętla ta odpowiedzialna jest za tworzenie tablicy o coraz większym indeksie, gdyż indeksem jej jest ciągle powiększająca się zmienna maxValues. Teraz pętlą for dzięki iteratorowi (i += 1) będziemy "przechodzili" kolejno po wszystkich tablicach i sumowali je, tzn. wartość wszystkich liczb będzie znajdywała się w zmiennej divAll. Teraz znanym nam sposobem, osiągniętą sumę dzielimy operatorem dzielenia przez największy indeks tablicy value (czyt. przez ilość liczb). Na końcu wyświetlamy wartość średniej i kończymy program. Wydaje się trudne, ale w ten sposób łatwo będzie ci wszystko przychodzić. Pozostaje jeszcze jedno zagadnienie, mianowicie tablice dwuwymiarowe. Tego już nie będę szczegółowo omawiał, powiem tylko, iż są to tablice z dwoma indeksami. Oddzielamy je przecinkami. Tak jak poprzednio, potrzebne nam to będzie tylko wtedy, gdy będzie nam brakowało pomysłów na stworzenie odpowiedniego elementu gry. Np. taki ekwipunek, łatwo byłoby go "wykonać" na tablicach dwuwymiarowych. Wtedy tworzymy stałą, nazywamy ją FLD_EMPTY i nadajemy jej wartość -1. W zdarzeniu Create można stworzyć ekwipunek w taki sposób: GML for( i = 0; i < 10; i += 1; ) { for( j = 0; j < 10; j += 1; ) { inv[i,j] = FLD_EMPTY; // 10 x 10 = 100 pol wolnych } } Możemy sobie napisać funkcję dodającą przedmiot do plecaka, potrzebne będzie jednak stworzenie stałej FLD_ITEM. Teraz łatwo będzie napisać tę funkcję. GML for( i = 0; i < 10; i += 1; ) { for( j = 0; j < 10; j += 1; ) { if ( inv[i,j] == FLD_EMPTY ) { inv[i,j] = FLD_ITEM; return true; } } } Dodatkowo będzie ona nam zwracała wartość 1, jeśli w plecaku będzie miejsce na rzecz, lub 0, jeśli miejsca zabraknie. Wyświetlania go już nie na piszę, bo nie o tym mowa i szkoda na to czasu. Mam jednak nadzieję, że zrozumiałeś do czego służą tego typu zmienne. Miłej nauki :D !
  5. Dobra, wierzę, bo ta sytuacja zdarza sie bardzo często. W sumie, po to są przykłady żeby je przerabiać, nieważne ile przerobiłeś, niepotrzebny był tamten post ;D . A program niezły, ale ograniczenie ilości dźwięków boli :/ . Dlatego 4/5. A, i granie na klawiszach jest żałosne :/ .
  6. Pentalinio

    Profesjonalne sprity

    Ale to kompletnie zmienia postać rzeczy :D . Chociaż, jeśli sprite to same tło?
  7. Pentalinio

    Profesjonalne sprity

    Cóż, nie byłem pewien, ale racja. Na poniżej lub 8 bitówkach pixelart. Na 16 bitówkach też pixelart, a raczej jego chińska podróba (nie znam tej nazwy :D ), aktualnie wygląda to nieco inaczej. A kontury nie są zawsze panie Jaklubie ;) .
  8. Zawiodłem się ;/ . Super Sound System for GM 5.0 and above Version 3.2 ------------------------------------------------------------------------------------- by tsg1zzn trondsg@gmail.com ------------------------------------------------------------------------------------- Plays Ogg Vorbis! Change frequency! Change volume! Change panning! And very easy to use!! Additional advanced features: Load and unload sound at need! Check if a sound is playing Set and get the position of a playing sound Get the length of a sound ------------------------------------------------------------------------------------- See the individual scripts for more information about their usage. ------------------------------------------------------------------------------------- I have no and take no responsibilities for the results of improper or proper usage in case this usage results in problems, included, but not limited to; damage, poisoning, terror attacks, vomit on floor, worm in apple, virus in any place, windows in doors, non-working or partially defect brakes, power outage or emtpy swimming pools. Also, please note that this non-existing warranty does not cover "castrated mouse problem" (mouse ball disappeared or full of hair/dust, which is prevents it from functioning properly). If it does not result in problems, please give me relevant credits!
  9. Pentalinio

    Profesjonalne sprity

    Up -> Chyba skala 1:2 ;D ? @Topic: Generalnie pixelart jest stosowany do grafik takich małych, ale raczej tylko pod konsole ze zjechaną grafiką. Tak, to można kontury, potem deseń, cienie, światło itp. ;) Ale najlepsze i to głównie większe to modele czy cuś...
  10. Pentalinio

    Galeria Grafik

    Filtr Cotout + plamy. Ale wygląda wporzo.
  11. Operowania* ;P . Po prostu błąd był taki. x=+400 to to samo co x=400, bo to też jest dodatnie. Zaś += to operator :lol: .
  12. Nie jestem chyba niepełnosprawny, nie ;) ? Dzięki Nobody.
  13. Nie ma spacji, nie wiem skąd jest :/ . A te javascript jest dlatego, że bałem się, że to tego jest powód ;P .
  14. Witam, mój problem polega na tym, iż mam sobie wstawioną warstwę: <div id="help">bla bla bla</div> I chcę ją zmienić po najechaniu na link: <a href="?task=news" onmouseover='java script:document.getElementById("help").value="Pomoc";'>Strona główna</a> Wiem że zdarzenie dobre i wszystko ok, oprócz tej warstwy. :/
  15. Pentalinio

    Galeria Grafik

    Mnie też nie śmieszy, ale niezły pomysł + rymy ;P .
  16. Kod śmierdzi Yodą kolego. Dlatego jest zły.
  17. O żal? Moim zdaniem jest wszystko dobrze, ale cóż, specjalista ma zawsze rację ;) .
  18. Jeśli wyświetla ci się błąd o treści "Brakuje zmiennej X", to deklarujesz je jako stałe tam gdzie ci podałem wcześniej. Każdej ustalaj inne wartości, bo o to w tym wszystkim chodzi :] .
  19. Global Game Settings -> Constants Stałe to wartości, których się nie zmienia, ale stałe nie muszą mieć nazwy, może to być zwykła wartość w postaci ciągu znaków bądź liczby.
  20. Im mniej pytasz, tym głupszy się robisz -.-' .
  21. Trójka na tym samym poziomie, ale ja się nie czepiam. A niech tylko któryś napisze, że coś umie, to go wyśmieję a zarazem zacytuję ;) .
×
×
  • Dodaj nową pozycję...