Skocz do zawartości

Zablokowane Queue czyli kolejka nie odczytująca ostatniej wartości


Anubarak

Rekomendowane odpowiedzi

Mam 2 obiekty player i npc. W npc mam taki kod:

GML
//create

kolejka=ds_queue_create()

aktualna_wartosc=0

 

 

//step

if distance_to_object(player)<100 and keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)!=0

{

ds_queue_clear(kolejka)

ds_queue_enqueue(kolejka,"Czesc jestem Franek.")

ds_queue_enqueue(kolejka,"Chce cie pociac.")

ds_queue_enqueue(kolejka,"I mam dla ciebie misje.")

ds_queue_enqueue(kolejka,"Oto jej tresc: potnij sie.")

}

 

if distance_to_object(player)>100

ds_queue_clear(kolejka)

 

if keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)=0

aktualna_wartosc=ds_queue_dequeue(kolejka)

 

 

//draw

if ds_queue_empty(kolejka)=0 draw_text(320,320,aktualna_wartosc)

No i niby ta kolejka ignoruje ostatnią wartość czyli mi jej nie wyświetla. Co radzicie (oprócz tego żeby dodać piątą wartość która będzie tylko po to żeby pozostałe się wyświetlały a ta nie)?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Bo jak zdejmiesz z kolejki ostatnią wartośc, to do zmiennej aktualna kolejka przypisujesz dane z kolejki, ale warunek w draw nie jest już spełniony, bo przecież zdjąłeś ostatni element z kolejki :)

Napisz samo "draw_text(320,320,aktualna_wartosc)" i zobaczysz, że ostatni wiersz ściąga. Ja bym zrobił tak:

 

STEP

GML
...

...

//ostatni IF

if keyboard_check_pressed(vk_enter)

if not ds_queue_empty(kolejka)

aktualna_wartosc=ds_queue_dequeue(kolejka);

else

aktualna_wartosc = '';

 

draw

GML
if aktualna_wartosc != '' draw_text(320,320,aktualna_wartosc);
Odnośnik do komentarza
Udostępnij na innych stronach

Teraz wyświetla się błąd że nie może porównać argumentów:

 

___________________________________________

ERROR in

action number 1

of Draw Event

for object object1:

 

Error in code at line 1:

if aktualna_wartosc !='' draw_text(320,320,aktualna_wartosc)

 

at position 23: Cannot compare arguments.

 

_______________________________________________

 

I niewiem jak temu zaradzić.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...