Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Kategorie bazy artykułów
Artykuły -> Kąciki programowania
Treść artykułu
Początki z Basic4Gl
autor: Sadam (17.10.04)
tak więc może zacznę od podstawowych informacji dotyczących darmowego kompilatora : Basic4Gl. Język programowania jakim posługujemy się w owym programie jest bardzo prosty, co umożliwia pisanie w nim gier 2d jak i full 3d w bardzo łatwy sposób. Jedną z poważnych wad jest brak możliwości pisania własnych funkcji co nas trochę ogranicza, jednak dla mnie wymagających programistów nie jest to żadnym problemem. Inną wadą może być też waga pliku która minimum wazy ok. 1 mb.

teraz może o podstawach tego języka. Zaczniemy od Variables ( Zmiennych ) . Najpierw musimy je zadeklarować poprzez komendę dim a zaraz po niej wypisać nazwy zmiennych. Jest to niezbędne jeżeli używasz danej zmiennej w dalszej części kodu. Czemu tak się dzieje ? Ponieważ próbujemy skorzystać ze zmiennej której program w ogóle nie znać. Przeważnie dimy wypisuje się w kilku pierwszych liniach kodu. Ciekawostką jest również przyjęta zasada deklarowania każdej zmiennej poprzez osobny dim chyba że zmienne należą do takiej samej grupy lub odnoszą się tego samego obiektu. Np :
kod:
dim obiekt1x 'Jest to deklarowanie pozycji x obiektu 2
dim obiekt2x, obiekt2y ' Tu zaś deklarujemy zmienne obiektu 2

Następnym krokiem powinno być zdefiniowanie zmiennej. Chodzi tu o nadanie pewnej wartości zmiennej, może to być pozycja x bądź y, jak i jakaś całkowicie nic nieznacząca liczba. W tym przypadku nadamy wszystkim 3 zmiennym pozycje. Powinno to wyglądać w sposób następujący :
nazwa zmiennej = wartość
Na przykład:
kod:
obiekt1x = 15
obiekt2x = 10
obiekt2y = 10

Tak więc zmienne możemy na razie zostawić w spokoju :). Zanim jednak przejdziemy do dalszej części artykułu powinniśmy wykonać jeszcze jedną rzecz. Chodzi tu o wstawienie fragmentu kodu odpowiadającego za Buforowanie textu. Min. -
kod:
TextMode (TEXT_BUFFERED)
Nie jest to jednak niezbędne. Powinniśmy to stosować tylko w skrajnych przypadkach min. Kiedy to umieszczamy w programie text i korzystamy z funkcji while. Kod ten powoduje że nie widzimy odświeżania textu. Funkcja while natomiast często jest wymagana do poprawnego funkcjonowania programu. Bez niej m.in. Nie będą poprawnie działały zdarzenia o których już za chwile. Funkcja while powinna wyglądać następująca :
kod:
while true

Kiedy to zrobiliśmy możemy zacząć prawdziwą zabawę ( Dla kogo ;D ) . Tak więc możemy wsiąść się za zdarzenia. Czyli wszelkie operacje po naciśnięciu klawiszu myszki, klawiszy na klawiaturze, kiedy zmienna osiąga pewną wartość bądź jakiś obiekt uzyskuje pewną wartość x i y itd. Tutaj możemy popuścić wodzę naszej wyobraźnie i próbować wszystkiego co się da. Zaprezentuje poniżej kilka funkcji które mogą być zastosowane w waszej grze.
kod:

if ScanKeyDown (Wartość) then ' Jeżeli Przycisk .... został wciśnięty wtedy ma się stać : ( Oczywiście w miejsce wartość wpisujemy symbol danego znaku. )
if zmienna1 = wartość then ' Jeżeli pewna zmienna osiągnie pewną wartość
if zmienna1 = wartość and zmienna2 = wartośc2 then ' jeżeli 1 zmienna posiada taką wartość a 2 posiada taką wartość ma się stać :
if zmienna1 >= wartość then ' Jeżeli zmienna jest większa bądź równa danej wartości ma się wydarzyć :
if zmienna1 <= wartość then ' Jeżeli zmienna jest mniejsza bądź równa danej wartości ma się wydarzyć :

Tyle wystarczy jak na początek. Dane przykłady pozwalają nam na stworzenie bardzo prostej gry. Jeśli chodzi o ich zastosowania, wystarczy wysilić swoją wyobraźnie. I pomyśleć co się powinno stać po wciśnięciu pewnego klawisza, bądź gdy jakaś zmienna osiągnie pewną wartość. Podam kilka przykładów :
kod:

if ScanKeyDown (Symbol) then
zmienna1 = zmienna1 + 1 ' Po wciśnięciu danego klawisza zmienna1 ma zwiększyć swoją wartość o 1

if zmienna1 = wartość then
zmienna2 = 3 ' Jeżeli zmienna 1 osiągnęła pewną wartość wtedy zmienna 2 ma przyjąć wartość 3

if zmienna1 = zmienna 2 then
zmienna1 = zmienna1 - zmienna2 ' Jeżeli zmienna 1 posiada taką samą wartość jak zmienna 2 wtedy, wartość zmiennej 1 ma zostać zmniejszona o wartość zmiennej 2
Tak więc można powiedzieć że podstawy już znacie. Teraz przejdźmy, do wstawienia obiektu na nasz ekran. Tak więc musimy wstawić kod mówiący w jakim miejscu, ma zostać umieszczony obiekt ( w naszym przypadku Literka O ) Np. :
kod:
cls
locate x, y: Print "O"

Oczywiście jak można się domyślić zamiast x i y wstawiamy konkretną cyfrę lub zmienną. Kod po znaku " : " odpowiada za rysowanie litery. Kiedy to mamy należy zamknąć nasz program komendą " wend " i możemy odpalić naszą grę. Niestety niemogę tu opisać co takiego się tam wydarzy ponieważ to jest wasz program. Jednak coś nam nie chce pójść/ Cóż to może takiego być ? Jeżlei użyliśmy komendy TextMode powinniśmy przed " Wend " umieścić 1 linijkę kodu odpowiadającą za prawidłowe funkcjonowanie gry. Chodzi o :
kod:
Drawtext ()
I to jest już koniec. Wszystko powinno działać jak w szwajcarskim zegarku. Jednak to nie koniec. Nie możemy spocząć na laurach, tylko próbować rozwijać ten programik.
głosów: 2 | ocena: 4.50 oceń zasób | dodał: Ajot
Komentarze
stron: 1

1


av

Marmot (13:03, 17.10.2004)

Mógłbyś poruszyć troszkę inne zagadnienia, np. spritowanie, modelowanie, korzystanie z tekstur itp.

Ajot (13:04, 17.10.2004)

Marmot ale jak napisałem już jest to przykłąd jak zrobić prostą grę " Textową " . Art z sprite'ami i korzystanie z textur już jest w drodze...

av

Ranmus (20:52, 26.11.2004)

TEXT_BUFFERED spełnia także inną funkcję, działa także jako SPRITE_BUFFERED, czyli program nie będzie marnował czasu poprzez rysowanie od nowa całego bufora ekranu jeśli coś na nim wyrysujemy, lepiej odswiezyc ekran na koncu kazdej "klatki". Dzieki temu mozna przyspieszyc znacznie program. Info zaczerpniete z oficjalnego forum basic4gl

av

Marmot (21:23, 26.11.2004)

Głupio tylko trochę wygląda ten skrót od nazwy arta w ostatnich komentarzach: "Początki z Basi...". Może lepiej by było wprowadzić opcję krótka nazwa?

~Tails (17:43, 30.07.2005)

Powinno być więcej o spritach!!! Io grach 3D!!!

~tom&mii (13:27, 1.04.2006)

znacie moze jakies stronki z poradami o gm 6.1
??
pace!
<sex>

av

Maximal (13:44, 1.04.2006)

WTF? 0_o Rozejrzyj sie na tej stronie, możliwe, że znajdziesz całkiem sporo... '

stron: 1

1



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
43 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 40, userów: 3, ukrytych: 0
Sutikku, Fervi , Uzjel

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
ANtY (7:27, 20.01.17):
>długa dyskusja przed snem, że po prześwietleniu historii postów patryka jego DZIEWCZYNA (ONA MA DZIEWCZYNE, NIE ZAPOMNIJCIE!!! była zawiedziona poziomem jego wypowiedzi, po czym nastąpiły długie przeprosiny i obietnica poprawy hmm
Wojzax (2:47, 20.01.17):
YXE co to za pedalski slang i gdzie jest obiecana gra w niszczenie wieżowców?
ΨΧΞ (22:48, 19.01.17):
nudzi mi się, odpisz coś
ΨΧΞ (22:25, 19.01.17):
pamiętasz, co pisałem o mojej obietnicy grzecznego i miłego odzywania się do niepełnosprawnych? nom, to pardon, ale albo załapiesz, albo ta dyskusja nie ma sensu :*
MaxGaming (21:41, 19.01.17):
Patrząc na ilość buziaczków i czułych zwrotów to chyba Twoja dziewczyna jest bardziej męska od Ciebie?
Adriann (20:28, 19.01.17):
Nie mit, nie chodzi tam o samą ilość a nie radzenie sobie organizmu z czymśtam..;d
Ignatus (20:11, 19.01.17):
Nie wiem czy z tym testosteronem i łysieniem to nie jakiś mit.W końcu najwyższy poziom testy jest w okresie dojrzewania-kiedy każdy ma burze loków, a po 30 zaczyna gwałtownie spadać,kiedy właśnie u większości zaczyna się łysienie...
ΨΧΞ (19:56, 19.01.17):
xD oj pysiu głuptaśny, a w mikołaja też wierzysz? nie przejmuj się, każdy ma prawo nie wiedzieć - pozwól, iż przedstawię Cię łysinie androgenowej. dokształcon? nie dziękuj :*
MaxGaming (19:00, 19.01.17):
No zazwyczaj stres o tym mówię, tylko że YXE twierdzi że nie ma uczuć i się niczym nie przejmuje absolutnie xd
Adriann (18:55, 19.01.17):
Eee nie ma co się przejmować, sam mam bardzo mało włosów i wiem że niebawem będę miał kolano na głowie ale to nie oznaka stresu a zbyt dużej ilości testosteronu, możesz nie mieć włosów a dalej być takim seksualnym tyranozaurem jak ja
MaxGaming (18:48, 19.01.17):
A czy łysienie w tym wieku to nie jest głównie oznaka stresu? Czy stres nie oznacza że jednak masz emocję i dosyć bardzo się przejmujesz? xd Zrozum że udając kogoś kim nie jesteś zawsze wcześniej czy później narazisz się na śmieszność. Masz ogromną wiedzę i ogółem swoimi dobrymi stronami powinieneś się legitymować a nie udawać coś w wieku 27 lat...
Wojo (17:10, 19.01.17):
nawet moja składnia
Wojo (17:10, 19.01.17):
nie wiesz wcale, że jego nic nie rusza ?
Wojo (17:10, 19.01.17):
ah ty pysiaczku głupaśny
ΨΧΞ (16:59, 19.01.17):
nie, no jasne iż nie mam. to mój najczulszy punkt, przezeń płaczę po nocach
Ranmus (16:41, 19.01.17):
Patryk spokojnie. Nie musisz tak szczegóło tłumaczyć, że masz dystans do siebie w kwestii łysienia... masz?
ANtY (16:09, 19.01.17):
zawsze kisne xD
ANtY (16:08, 19.01.17):
>ludzie często pytają mnie [..]
ΨΧΞ (15:29, 19.01.17):
przeto to logiczne: chociażby dlatego, że noszę kapelusz i mówię dlaczego, gdy ktoś mnie pyta, nawet tu się to przewijało myślałeś, że noszę go bo chcę być fajny i mędrkuję? xD kaman, łysina jest nieestetyczna D: musiałbym się ogolić cały, a do 30-stki nie zrobie tego.
Ranmus (14:39, 19.01.17):
Patryk, przecież o tym wiem i nie neguję. Zresztą skąd miałbym wiedzieć, że łysiejesz skoro cały czas nosisz czapkę?
Wojo (14:20, 19.01.17):
brrr xD
ΨΧΞ (13:40, 19.01.17):
znikas, dzięki - ląduje w kolekcji memów :*
ΨΧΞ (13:39, 19.01.17):
Pysiaczku głuptaśny, przeto ja mówiłem, "[...] bo łysieję" - nie było tam nigdzie "nie". ale to cudowne, że się starasz pamiętać :*
Ranmus (13:31, 19.01.17):
Zmień "bo mam klasę i chłód" na "bo mam klasę i wcalę nie łysieję Xd". Będzie legitniej.
Nikas (13:23, 19.01.17):
also psichix fajne meme znalazłem podobne tylko z innym kolesiem hehe gmclan.org/uplo...wiek_top_bk.png
Nikas (13:18, 19.01.17):
>mów komuś o tym, żeby nauczył się dobrych pocisków >sam dowal jakiś gimbopocisk po matce xDDDD boże jak to możliwe mając tyle lat
Ignatus (11:11, 19.01.17):
Dzieki
Ranmus (11:10, 19.01.17):
Korodzik, co tam u rodzinki słychać?
Korodzik (10:55, 19.01.17):
Ignatus, kliknij "Opcje" i wybierz widok standardowy
Ignatus (10:47, 19.01.17):
Jak z tym żyć
Ignatus (10:46, 19.01.17):
Widzę pierwszy post i potem takie coś zapodaj.net/ec8...b4b9f2.png.html
Ignatus (10:43, 19.01.17):
Dlaczego każdy temat na forum mam teraz w postaci jakiejś dziwnej listy?
Ranmus (10:21, 19.01.17):
Tramur, dobry pomysł z tym emoji.
Ranmus (10:20, 19.01.17):
Oj tam żadna drama. Po prostu Patryk musi się kiedyś nauczyć, żeby realizować się w tym, w czym jest dobry, a nie łapać się za wszystko, bo nigdy alfą i omegą nie będzie.
Danielus (10:18, 19.01.17):
A co to za drama się tu kręci? : f
Ranmus (10:16, 19.01.17):
Ja bardzo darzę sympatią Patryka, ale ostatnio mi na fejsie wyjebało żenadometr i musiałem ukryć jego wpisy na mojej tablicy. Tak, chodzi o tę socjo-psycho-trololo twórczość
ANtY (7:54, 19.01.17):
boże patryk ale ty jesteś jednak autystyczny xD
tramur (0:13, 19.01.17):
Przypomniało mi się coś podobnego x3.cdn03.imgwyk...oXFzut0SEMy.jpg Sorki za offtop, przekleństwa i triple-post.
tramur (0:11, 19.01.17):
Fajnie by było nadgonić te 10 lat w CMS-ie gmclanowym i przejść na Unicode, bo emoji nie działają.
tramur (0:09, 19.01.17):
Pomyśleć, że 10 lat temu za takie pyskówki można było zarobić wakat z forum na miesiąc. Dobrze, że te czasy minęły.
ΨΧΞ (0:06, 19.01.17):
znalazłem Wam coś na przypominanie mi o chłodzie następnym razem x3.wykop.pl/cdn...LbsI6nAUqG8.jpg
ΨΧΞ (23:49, 18.01.17):
wcale nie jadę, jestem pełen uznania troski o syna
MaxGaming (23:23, 18.01.17):
Ten po matkach jedzie a ma 27 lat XDDDD
ΨΧΞ (23:15, 18.01.17):
Sutyku i maxgaming: ale sensownego dissowania to wy się uczcie od woja, okej? bo to było słabe wojo: pysiu głuptaśny, a jeśli bym powiedział, że twoja stara szeptała mi tego newsa, próbując zarobić na wsparcie dla ciebie, to co byś zrobił?
MaxGaming (23:07, 18.01.17):
YXE może to była aluzja żebyś mnie gadał ze sobą, a więcej z nią?
Wojo (23:00, 18.01.17):
Wnioskuję że słyszałeś o tym od swojej dziewczyny
ΨΧΞ (20:34, 18.01.17):
słyszałem, że macie ostatnio biedne wsparcie od rządu :/
Sutikku (20:16, 18.01.17):
w końcu trzeba mieć szacunek do samego siebie xd
ΨΧΞ (20:12, 18.01.17):
Ja to wiem, ale dziewczyna kazała mi odzywać się grzeczniej do niepełnosprawnych.
MaxGaming (18:40, 18.01.17):
pysiaczku głuptaśny - boże jak to beznadziejnie brzmi xd
Ankieta
» Czy jesteś szczery odpowiadając w ankietach w Internecie?
Tak
Nie

GMCLAN to serwis o programie Game Maker i nie tylko.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!

[ Czas generowania strony: 0.01368 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev