Skocz do zawartości
Exigo

"Prywatyzacja" obiektu

Rekomendowane odpowiedzi

A więc mam problem.

Mam rysowanie takiego "cienia" który ma direction równe obiektowi.

Kłopot w tym że gdy stworzę kilka obiektów KAŻDY cień ma direction obiektu który stworzył się pierwszy.

Jak zrobić aby każdy obiekt miał swój cień?... takie "sprywatyzowanie" .

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tworzenie cienia:

GML
cien = instance_create(x,y,obj_cien);

cien.mama = self.id;

I w Step obj_cien:
GML
direction = mama.direction;

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
A więc mam problem.

Mam rysowanie takiego "cienia" który ma direction równe obiektowi.

Kłopot w tym że gdy stworzę kilka obiektów KAŻDY cień ma direction obiektu który stworzył się pierwszy.

Jak zrobić aby każdy obiekt miał swój cień?... takie "sprywatyzowanie" .

 

Nie wiem czy to coś da, bo jeszcze nie spacowałem z tym, ale popróbuj z:

 

Adresowanie

- self: Aktualny obiekt dla którego wykonujemy kod

 

albo:

 

Każdy obiekt ma przypisany do siebie unikalny numer id. Gdy ustawiasz obiekty na planszy, w pasku stanu możesz zobaczyć id danego obiektu po najechaniu nań myszką. Numer ten będzie zawsze większy bądź równy 100000 (gdy tworzymy obiekty w czasie gry, generowany jest kolejny wolny numer, o czym za chwilę). Tego numeru rówienż możemy użyć tak jak powyzej, po lewej stronie kropki. Ale zwracam też uwagę na to, że kropka oznacza przecinek w liczbach (np. 23.5), dlatego aby uniknąć problemów, należy numer id podawać w nawiasie. Tak więc, np. nasz obiek ma numer 100032, więc można napisać:

kod:

GML
(100032).speed = 0;

 

Ale mówię, że jeszcze z tym nie pracowałem, więc nie jestem pewien czy wyjdzie :P

 

UP: Szybszy :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To nie możesz rysować cienia w tym samym obiekcie?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
GML
draw_sprite_ext(sprite_index,image_index,x+5,y+5,1,1,0,c_black,0.65)

draw_sprite(sprite_index,image_index,x,y)

 

Po co zaśmiecać obiektami ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Przykład Uziela jest najlepszym rozwiązaniem... lecz troszkę inaczej użyłem tego kodu.

Dziękuje wszystkim, temat zamykam. :thumbsup:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×