Skocz do zawartości

Jak przekazać punkt X do zmiennej?


Rekomendowane odpowiedzi

  • Administratorzy

A skąd wiesz, że nie działa?

Tylko średniki dodawaj na koniec, bo złe nawyki będziesz miał.

A kod musi działać.

 

W tym przypadku pamiętaj jednak, że jeżeli są dwa obiekty obiekt, to przekaże pozycję pierwszego z nich.

Odnośnik do komentarza
Udostępnij na innych stronach

to wiem bo używam instance_nearest żeby wybrać najbliższy wynik, a wiem że nie działa bo męczyłem sie z tym długo i w końcu wpadłem na pomysł jak sprawdzić czy przekazuje zmienną. kazałem pokazać wiadomość z wartością punkt_x i co? Pokazała sie pusta wiadomość, czyli nie przekazało zmiennej punktu X obiektu...

Odnośnik do komentarza
Udostępnij na innych stronach

Prawdopodobnie napisales show_message(punkt_x), ta funkcja przyjmuje argument typu string, a zmienna punkt_x jest liczba, wiec nic nie pokazalo. Zeby jednak wyswietlic zmienna liczbowa wystarczy uzyc funkcji string(), zeby zamienic typ liczbowy na ciag znakow.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
to wiem bo używam instance_nearest żeby wybrać najbliższy wynik, a wiem że nie działa bo męczyłem sie z tym długo i w końcu wpadłem na pomysł jak sprawdzić czy przekazuje zmienną. kazałem pokazać wiadomość z wartością punkt_x i co? Pokazała sie pusta wiadomość, czyli nie przekazało zmiennej punktu X obiektu...

 

var obiekt;
obiekt=instance_nearest(x,y,obj_jakis);
punkt_x=obiekt.x;
punkt_y=obiekt.y;

if keyboard_check(ord('Q')) then show_message('X:'+string(punkt_x)+', Y:'+string(punkt_y));

wciśnij Q żeby sprawdzić, czy pobiera pozycję :D

Odnośnik do komentarza
Udostępnij na innych stronach

To jak już gnysek wyskoczył z tym instance_nearest to się tak z ciekawości dopytam. Jak robie id_=instance_nearest(x,y,all) i wykrywa mi id tego obiektu co sprawdza tą funkcję, jak zrobić aby sprawdzał wszystkie oprucz siebie :P

 

gnysek skąd tam ci się true wzięło na końcu :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

właśnie myślałem, że jest czwarty argument notme, jak w przypadku kolizji, ale się pomyliłem. Już wiem dla czego nie używam tej funkcji i nie pamiętam jej argumentów :D

 

Jak sprawdzić? Poza pętlą for, nie widzę sposobu :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

A co to za problem zmienić na chwilkę x i y np. na -10000, potem wywołać instance_nearest, a następnie przywrócić x i y?

 

Jeżeli ma być bez zmiany x i y (nie wiem czy się to nie będzie kłócić z kolizją, to proszę bardzo, haxxorski sposób:

instance_nearest_all(x,y);

Treść skryptu:

var _r;

if ( variable_global_exists( "__searcher" ) == false )
{
    global.__searcher = object_add();
    global.__searcher_instance = instance_create( -999999, -999999, global.__searcher );       
}

if ( instance_exists( global.__searcher_instance ) == false )
    global.__searcher_instance = instance_create( -999999, -999999, global.__searcher );

instance_activate_object( global.__searcher_instance );

with( global.__searcher_instance )
{
    instance_deactivate_object( other );
    r = instance_nearest( argument0, argument1, all );
    instance_activate_object( other );
    
    if ( r == id )
        r = -1;
}
_r = global.__searcher_instance.r;

instance_deactivate_object( global.__searcher_instance );

return _r;

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