Skocz do zawartości

jesli obiekt jest w roomie


Rekomendowane odpowiedzi

Ciekawostka.

 

Jeśli mamy warunek:

 

if(warunek)

 

To w rzeczywistości jest on warunkiem:

 

if(warunek != 0)

 

Co to oznacza?

Fałsz jest RÓWNY 0, zaś prawda jest KAŻDĄ INNĄ wartością niż 0, czyli również 0.7, czy 17.

 

I w ten sposób można wywnioskować, że instance_exists() jest w GMie niepotrzebną funkcją.

 

Zamiast:

 

if(instance_exists(obj))

 

Można użyć:

 

if(instance_number(obj))

 

A samo instance_exists można zapisać tak:

min(1, instance_number(argument0));

 

Tak na przyszłość, Platyna... :P

Odnośnik do komentarza
Udostępnij na innych stronach

To w rzeczywistości jest on warunkiem:

 

if(warunek != 0)

Nie prawda:
GML
1 && true == true

0 && true == false

-1 && true == false

Z czego wynika, że if sprawdza czy > 0

 

A samo instance_exists można zapisać tak:

min(1, instance_number(argument0));

Po co tu matematyka?
GML
instance_number( argument0 ) && 1

!!instance_number( argument0 )

:P

 

Po za tym istnienie instance_exists i jednoczesne instance_number jest uzasadnione. Napisanie tych funkcji po stronie samego Delphiego sprawia, że funkcje są szybsze od GMowych scriptów. :3

Odnośnik do komentarza
Udostępnij na innych stronach

Napisanie tych funkcji po stronie samego Delphiego sprawia, że funkcje są szybsze od GMowych scriptów. :3
Nie chodzi mi o napisanie samemu instance_exists(), bo to wiadomo, że by było wolniejsze od wbudowanej funkcji,a le o zwykłe korzystanie z

 

if(instance_number())

 

A co do sprawdzania >0 to muszę przyznać, że mnie zdziwiłeś.

 

W cpp chyba sprawdzał, czy był różny od zera.

Chyba... :P

 

A przynajmniej na od ~roku żyłem w takim przekonaniu... :D

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, ale zwykły klocek z kodem też jest scriptem. Ogólnie wbudowana funkcja będzie szybsza od interpretowanej funkcji.

W większości języków programowania jest !=, GML to jakiś ekscentryk. :P

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