Skocz do zawartości

Błędnie działające surface


Gość

Rekomendowane odpowiedzi

Witam :) Otóż robię nową gierkę (której pewnie nie skończę <_< ) i użyłem oświetlenia z przykładu Nikas'a (zaraz podam link do tematu). No i problem tkwi w tym, że Nikas oświetlenie miał dobrze, chodziło równo za graczem, a u mnie tak nie jest :/ Oświetlenie jest gdzieś z boku, jak chodzę w prawo to ono idzie wolniej, aż w końcu mnie nie widać. On miał w STEP w linijce kodu coś takiego:

GML
draw_circle_color(swiatlo.x, swiatlo.y, 200, color, c_black, 0);

a ja to zamieniłem na:

GML
draw_circle_color(obj_player.x, obj_player.y, 200, color, c_black, 0);

żeby chodziło za graczem, bo mam tylko obiekt obj_oswietlenie w którym jest właśnie cały ten kod odpowiedzialny za światło.

 

I teraz pytanie brzmi: Czym jest to spowodowane?

 

Dodam, że używam cienia gracza poprzez

GML
draw_sprite_ext(...);
i możliwości wyboru koloru gracza.

Wszystko jest tak samo jak w przykładzie. Kiedyś to robiłem i wyszło dobrze.

 

Jeśli potrzeba jakiś kod to go podam :) Z góry THX :thumbsup:

 

EDIT: Link do tematu z przykładem: Przykład

Odnośnik do komentarza
Udostępnij na innych stronach

Jak ustawiłem:

GML
draw_circle_color(obj_player.view_xview, obj_player.view_yview, 200, color, c_black, 0);

lub

GML
draw_circle_color(obj_player.view_xview[0], obj_player.view_yview[0], 200, color, c_black, 0);

to i tak i tak nie działało :(

 

Próbowałem pełno rzeczy i żadnego skutku :/

Odnośnik do komentarza
Udostępnij na innych stronach

no to założmy że wiewa masz wielkości 640 na 480 postać jest zawsze na środku to ustaw

GML
draw_circle_color(view_xview+320,view_yview+240, 200, color, c_black, 0);

i wtedy światło będzie zawsze na środku ;p

 

EDIT:

albo ustaw x,y i daj temu obiektowi co światło tworzy podążanie za bohaterem, ale nie wiem czy to działać będzie :P

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Nobody :) teraz działa dobrze :) bo wcześniej ustawiałem w rysowaniu okręgu, a teraz surface'a. Ustawiłem, żeby rysowało tylko na szerokość i wysokość view'a.

 

Pozdrawiam Bedi :)

 

PS. Mam inne pytanie (piszę tu, bo po co zakładać nowy temat)

 

Korzystam z tworzenia planszy z przykładu Tymona i Dawiddsa. Mam identyczny kod, tylko pozmieniałem nazwy zmiennych (żebym mógł się połapać). Zmieniłem także znak "#" na "|". Mapa zapisuje się dobrze, ale gdy chcę ją odczytać, to usuwa wszystkie obiekty, ale żadnego nie tworzy. :(

O co chodzi? Jeśli potrzeba, podam ten kod.

Odnośnik do komentarza
Udostępnij na innych stronach

Co dziwne, po skopiowaniu calutkiego kodu ze skryptów w przykładzie, zaczęło działać :blink: No nic, dzięki Wam za pomoc :)

 

I jeszcze jedno pytanie dotyczące tego surface.

Wszystko już działa. Jest na środku gracza, wszystko ładnie pięknie, ale mam wpisane w Create, że ma go stworzyć na:

GML
view_xview + 1024;

view_yiew + 768;

a w Draw:

GML
draw_surface(s, view_xview, view_yview);

i wtedy jak wyjdę poza 1024px width, to "światło idzie szybciej" niż gracz (czyli jest przed nim).

 

Jak ustawię w Draw:

GML
draw_surface(s, 0, 0);

to rysuje go tylko do 1024x768 rooma a nie view'a.

 

Próbowałem stawiać ten obiekt odpowiedzialny za oświetlenie co 1024px, ale też nic nie dało.

Miałem coś jeszcze na myśli tylko na razie nie pamiętam co.

 

Czym to może być spowodowane? Albo jak te view'y poustawiać lub coś.

 

Pozdrawiam Bedi :)

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