Skocz do zawartości

Silnik 2-3D Crazy City


Rekomendowane odpowiedzi

Witam.

Mam dla was pierwszą wersję mojego silnika 2-3D: Crazy City. Miałem w nim robić grę ale jestem w domu co jakieś 2 tygodnie na weekend(pracuje, teraz troszkę choruje) więc postanowiłem podarować go wam.Moim zdaniem silnik może przydać się początkującym jaki i zaawansowanym użytkownikom GM'a. Wszystkie funkcje starałem się pisać zrozumiale(ale za bardzo mi chyba nie wyszło :D).

 

FUNKCJONALNOŚĆ:

->2D:

GML
spr_Poz() - Funkcję tę należy zawsze dodać w create każdego obiektu. Zmienne niezbędne do pozycji

spr_SetDir("folder\") - Funkcja ta ustala folder z którego będą wczytywane zasoby graficzne

spr_GetDir() - Funkcja zwraca folder z którego aktualnie czytane są zasoby graficzne

spr_Load("obraz.format") - Funkcja wczytuje grafikę, ustawia orgin na środku i włącza transparent

spr_LoadTo3D("obraz.format",transparent) - Wczytuje grafikę, ustawia orgin na 0,0 i ustawia transparent na podany

spr_SetSprite(sprite) - Nadaje objektowi spriteya i rysuje go

spr_SetSprite2(sprite) - Nadaje objektowi spriteya, rysuje go i okręca o 90stopni(to dla samochodów)

->3D:

GML
d3d_Poz() - to samo co spr_Poz()

d3d_GetTexture(sprite) - Wczytuje texture ze spriteya

d3d_DrawBlock(x,y,z,z2,textura) - Rysuje Blok od x i y objektu do wyznaczonego x i y na wysokościach z-z2 oraz o podanej texturze

d3d_DrawFloor(x,y,z,z2,textura) - Rysuje "Ścianę"(ukośna,pionowa,pozioma...) i działa jak d3d_DrawBlock

d3d_DrawFloor2(x,y,x2,y2,z,z2,textura) - To co wyżej tyle że możemy dokładniej wybrać pozycje(x i y)

d3d_DrawTree(x,y,z,z2,textura) - Rysuje drzewo

d3d_CreateMask(obj_maska) - Tworzy objekt maski(jeśli owy mamy)

->Fizyka i AI(tylko samochód...ledwo tknięte):

GML
fia_CarCreate("gracz",przyspieszenie,maxspeed,tył,skręt,hamowanie,friction) - Funkcja ta tworzy zmienne potrzebne nam do stworzenia samochodu. Nie zmieniajcie "gracz" na nic innego.

fia_CarStep(gora,dol,lewo,prawo,hamulec) - Funkcja tworzy(jak na razie cienką)fizykę jazdy samochodem.

->Muzyka:

GML
mus_SetDir("folder\") - Wybiera folder z którego czytana będzie muzyka

mus_GetDir() - zwraca folder...

mus_Load("muza.mp3") - Dodaje utwór do listy utworów

mus_Play() - Zaczyna odtwarzać po kolei utwory z listy

mus_Stop() - Zatrzymuje odtwarzanie

mus_Left() - Odtwarza poprzedni utwór

mus_Right() - Następny utwór

mus_SetMusic(numer) - odtwarza utwór o podanym numerze(dostaje go każdy dodany utwór...od 0)

->dźwięki(XeAudiere.dll)

GML
snd_SetDir("folder\") - -||-

snd_GetDir() - -||-

snd_Load("dzwiek.wav") - -||-

snd_Free(snd) - Funkcja ta zwalnia dźwięk z pamięci. Rób to zawsze...najlepiej na końcu gry

snd_Play(snd) - -||-

snd_Stop(snd) - -||-

snd_Repeat(snd,true?) - Czy Loopować dźwięk(odtwarzany nonstop)

snd_ef_CarEngine(snd,prędkość) - Effekt Silnika samochodu. Za prędkość wstawiamy ile razy ma mnożyć "obroty". Polecam 1.5 - 2

snd_ef_DisToBot(snd,odległość,gracz) - Effekt dzięki któremu im bot będzie dalej od gracza tym ciszej go będzie słychać

->Mapy(Silnik Crazy City posiada drobny MapEditor(dzięki GMClan))

GML
map_Load("mapa.map") - Funkcja ta wczytuje mapę i korzysta przy tym z map_ObjCreate

map_ObjCreate() - Tej funkcji nie używamy

 

CREDITS:

-Wszystko robiłem sam prócz:

 

-> XeAudiere wykorzystany do uzyskania dźwięków - Dzięki YXE

-> Przykład MapEditora i pomoc przy zapisie-odczycie map - GMClan

-> Grafika z neta, ulice z gry al'a gta z tego forum(nie pamiętam nazwy), auta z gta2

 

 

DOWNLOAD:

13,5mb

Odnośnik do komentarza
Udostępnij na innych stronach

Od razu po włączeniu aplikacji Crazy City pokazało mi się:

 

 

___________________________________________

COMPILATION ERROR in Script: spr_Load

Error in code at line 2:

sprite=sprite_add(string(global.spr_dir)+argument0,1,1,1,0,0,0,0)

^

at position 66: Wrong number of arguments to function or script.

 

 

EDIT:

A po włączeniu MapEditora:

 

 

___________________________________________

COMPILATION ERROR in Script: spr_Load

Error in code at line 2:

var sprite;sprite=sprite_add(string(global.spr_dir)+argument0,1,1,1,0,0,0,0)sprite_s

et_offset(sprite,sprite_get_width(sprite)/2,sprite_get_height(sprite)/2)return sprite

^

at position 65: Wrong number of arguments to function or script.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...