Skocz do zawartości

Chodzenie :)


Rekomendowane odpowiedzi

Witajcie!

 

Pracuję nad silnikiem OpenDave (klonem dla Dave Dangerous dla systemów Windows, Linux, OS X) i mam pewien problem z chodzeniem

http://www.gmclan.org/up6184_14_opendave.html

 

De facto nie mogę odkryć jak zrobić chodzenie, według mnie powinno działać, ale coś nie działa

 

No i jakby ktoś opracował jakiś dobry skok (teraz jest wieloskok :P)

 

Fervi

 

PS. Wystarczy sam kod gdzie umieścić, przeanalizuje (jak będę w stanie :D) i dodam najwyżej

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, inne pytanie :P

 

1) SCORE: 0

Jak w jednej linijce zrobić coś takiego (na pewno jest źle, ale ktoś poprawi)

draw_text(10,10,"SCORE:" + score);

 

2) Jak pogrubić czcionkę (z draw_text)

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

Inne pytanie :P

 

Robię level 2 (room 3) [ustawiony teraz jako 1 :D]

http://www.gmclan.org/up6184_14_opendave.html

 

I coś czego nie rozumiem (dlatego zresztą piszę) - Postać (obj_dave) ześlizguje się z obj_violetfloor, mimo, że nie powinien :P (Powinien albo odbić się, albo ustać na tym, albo się zablokować - a on spada, mimo vspeed=0)

 

Proszę o pomoc :)

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, tylko tutaj jest inne pytanie

 

Czemu przy takim samym kodzie dla obiektu obj_wall jest ok. Wielkość obiektu ma znaczenie? Nie powinna według mnie

 

Fervi

 

PS. Idź być Fervi'm gdzieś indziej - SOLID :(

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, inne pytanie, dość teoretyczne

 

W oryginale jest, że plansza (zazwyczaj) składa się z czegoś co można nazwać kilkoma roomami, jest ona długa, jak się kończy jeden ekran, przeskakuje na drugi (czyli view nie jest ustawiony na obj_dave)

 

I tu pytanie jak to zrobić.

 

Najprościej jest dać opcję persistant i zrobić room_goto, ale prawdopodobnie obj_dave musiałby być wcześniej gdzieś rzucony (w grze de facto jesteśmy w miejscu, gdzie jesteśmy na osi X,Y) i nie wiem czy robić wtedy room_goto, a operować view'ami (tylko musiałyby być wyzwalacze - obiekty? event?)

 

Chodzi mi o pomysł jakiś, jak wy to widzicie (od biedy potem będę błagał o kod :D)

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

@szmalu

Chyba tak, jeśli Player.X jest większe niż 640, to przesuń o trochę postać

 

Zaraz oblookam w praktyce

 

Fervi

 

PS. Dobra, Enigma chyba takich rzeczy nie rozumie, to inne zadanie

 

Jak jest zmiana room'a, to można ustawić, żeby Y dla Playera z room1 był przekazywany Y room'a2? (Coś jak zmienne globalne chyba, ale ręki nie dam uciąć :D)

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, zmienna global.yy przechowuje prawdopodobnie dobry Y, jednak tam nie idzie (wygląda na to, że ROOM_START nie działa poprawnie (?) albo coś pominąłem

 

Więc dodałem do Create taki kod

if(global.yy=0)
{
}
else
{
y=global.yy
}

 

a w obiekcie "linia teleportacyjna" (tak można to nazwać) jest

global.yy=y
room_goto_next()

 

Jednak mimo wszystko obj_dave startuje z pozycji X,0 (w pierwszym roomie, a nie tam gdzie jest zaznaczony na roomie)

 

Ma ktoś jakiś pomysł?

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

1.zadekladur zmienna w game start, albo daj w create

if! variable_global_exists("global.yy")

global.yy=0

. jesli dales w game_start to daj

GML
if(global.yy<>0){

y=global.yy

}

w room_start, a jak w create to możesz gzdie chcesz, bo create zawsze wykonuje sie pierwsze, co jest idiotyzmem ze strony tworcow GM.

I włącz opcje do sprawdzania zmiennych, to ci errory wywali, a nie będzie zle dzialac.

global game settings -> errors -> treat cośtam na nie.

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