Skocz do zawartości

Lokalizacja początkowa


Rekomendowane odpowiedzi

Jak po wciśnięciu jakiegoś przycisku zapisać lokalizację (x i y) np. kilku obiektów1, obiektu2, kilków obiektów3 itd. do pliku tekstowego(razem z ich nazwami), tak aby potem gra mogła to odczytać i ponownie ułożyć obiekty na te same pozycje?

 

Z góry dziękuje za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Do pliku txt zapisuj object_index, x i y obiektu (file_text_write_real(fileid,x)). Pomocna okaże się komenda with all {kod}. Jeżeli na mapie są obiekty, których nie chcesz zapisywać do pliku txt, użyj w with all: if(object_index!=xx&&object_index!=xx1...). Zapisuj wszystko do oddzielnych linijek w txt (poszukaj w helpie). Na końcu otwierasz plik txt i usuwasz wszystko co jest po przecinkach oraz spacje. (Ja tak musiałem robić, bo zapisywało mi tak: 1,0000 i miałem spacje miedzy cyfra a krawędzią notatnika).

Przy wczytywaniu sprawdzasz warunek, czy plik txt się nie skończył (poszukaj w helpie). Następnie wczytujesz trzy kolejne zmienne. (pierwsza to object_index, druga x i trzecia y). Tworzysz obiekt instance_create(zmienna2,zmienne3,zmienna1).

Odnośnik do komentarza
Udostępnij na innych stronach

No to może niech poczyta to co Mu tam dałem, są tam przykłady wczytania i zapisu :). Np. jak naciśniesz przycisk zapisu to tworzy Ci plik ini w którym zapisuje Ci y i x obiektów. A jak dasz wczytaj to patrzy na te liczby x i y i niech tam te obiektu teleportuje :D. W każdym razie ja bym tak zrobił :).

Odnośnik do komentarza
Udostępnij na innych stronach

Arekadiusz:

fileid to nazwa twojego pliku txt, np:

GML
fileid="costam.txt";//zamiast fileid możesz wpisać cokolwiek, to musi być zadeklarowane zanim dokonasz zapisu</span>

file_text_write_real(fileid,x), fileid-do którego pliku ma zapisać, x-zmienna(jakaś wartość) do zapisu

Odnośnik do komentarza
Udostępnij na innych stronach

Arekadiusz:

fileid to nazwa twojego pliku txt, np:

GML
fileid="costam.txt";//zamiast fileid możesz wpisać cokolwiek, to musi być zadeklarowane zanim dokonasz zapisu</span></span>

file_text_write_real(fileid,x), fileid-do którego pliku ma zapisać, x-zmienna(jakaś wartość) do zapisu

 

Candy, może mój kod będzie zwariowany, ale w każdym razie u mnie działa ;D.

 

GML
ini_open( 'lokacja.ini' )

ini_write_real('Lokacja x','obiekt1',object0.x);

ini_write_real('Lokacja x','obiekt2',object1.x);

ini_write_real('Lokacja y','obiekt1',object0.y);

ini_write_real('Lokacja y','obiekt2',object1.y);

ini_close();

Odnośnik do komentarza
Udostępnij na innych stronach

A jeżeli chciałbym tego użyc do edytora plansz?

Wtedy nie mogę sprawdzic jaki ten obiekt ma id, ani przewidziec ile będzie tych obiektów.

Możesz na obiekt kliknąć myszką i pobrać jego id. Potem odwołujesz się do obiektu przez id.

Odpal grę przez F6==>tools==>show global... masz listę obiektów i ich id :)

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ę...