Skocz do zawartości

Anubarak

Użytkownicy
  • Postów

    45
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Anubarak

  1. Te błędy to mniej więcej:

     

    ___________________________________________

    ERROR in

    action number 1

    of Create Event

    for object bohater:

     

    Error in code at line 1:

    buz = usta.image_single

     

    at position 12: Unknown variable image_single

     

    ___________________________________________

    ERROR in

    action number 1

    of Draw Event

    for object bohater:

     

    Error in code at line 2:

    draw_sprite(ustaSpr,buz,x,y)

     

    at position 22: Unknown variable buz

     

    ___________________________________________

    ERROR in

    action number 1

    of Step Event

    for object warzywo_lezy:

     

    Error in code at line 2:

    if bohater.catch<>0

     

    at position 13: Unknown variable catch

     

     

    No i po kolei pierwszy błąd polega na tym że zostały użyte funkcję image_single czy jakoś tak. Zmień ich nazwę żeby to nie były nazwy funkcji w bohaterze,strzałkach, ustach,nosie,i w oczach (chyba pomoże).

     

    Tam jest napisane: niewiadoma zmienna buz zmień ją na numer bo drugi argument funkcji draw_sprite przyjmuje

    cyfrę lub cyfrę zapisaną w zmiennej.

    ponieważ musi to być numer "subimidża".

     

    W trzecim pisze: niewiadoma zmienna catch czyli że jej nie ustawiłeś.

     

    Mam nadzieję że pomogłem trochę.

  2. Daj jakiś objekt a w create : (dam ci cały wycinek z dokumentacji) sound_loop(dźwięk) - podobny do poprzedniej funkcji, ale po zakończeniu odgrywania funkcja gra dźwięk ponownie. Opcja używana głównie do grania muzyki. W miejsce dźwięk trzeba wstawić nazwę dźwięku.

  3. 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ć.

  4. 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)?

  5. Hmm... każda rakieta jest oddzielnym obiektem? Skoro tak to możesz zrobić w niej zmienną (albo nawet dwie) z "odchyleniem" długości linii.

    Niestety (albo stety) obiekt jest jeden i w zależności jaki model się wybierze tak będzie wyglądać. Może twój kod by się sprawdził ale niema jakiegoś innego sposobu bez zmiennych?

     

    EDIT: Może by coś zrobić jakoś tak żeby znalazło sprite_width/2 i sprite_height/2 tam gdzie znajduje się obiekt a nie w lewy górnym rogu pokoju bo ja nie mam pomysłu jak to zrobić ;(

  6. Dzięki ZeroXbot problem rozwiązany tyle że narodził się nowy i żeby nie robić nowego tematu napisze go tu. No to tak mam taki inny model rakiety (brzydki ale się poprawi):beztytuuice.png no i jak widać ma ona odgałęzienie które jest boczną kabiną no i chcę żeby ta czerwona linia była tylko przed rakietą a nie przed i trochę w prawo jak to widać na obrazku. Przestawianie orgina tu nie wchodzi w grę ponieważ muszę mieć jakiś punkt wokół którego będę się obracać (mówiłem ruch w 36 kierunkach).

  7. ZeroXbot twój kod wydaje się dobry ale żeby zobaczyć gdzie będzie rysować linię zmodyfikowałem trochę kod i pozmieniałem niektóre rzeczy:

    GML
    xx=lengthdir_x(15+sprite_width,direction)

    yy=lengthdir_y(15+sprite_width/2,direction)

    xx1=lengthdir_x(xx+sprite_height/2,direction+90)

    yy1=lengthdir_y(yy+sprite_height/2,direction+90)

    xx2=lengthdir_x(xx+sprite_height/2,direction-90)

    yy2=lengthdir_y(yy+sprite_height/2,direction-90)

    draw_line(x+xx1,y+yy1,x+xx2,y+yy2)

    Ale nie wiem dlaczego linia jest rysowana w złym miejscu i zawsze przechodzi przez środek obiektu.

  8. Mam obj_player który wygląda tak (oczywiście ta różowa linia to nie jest wygląd rakiety):nowyobrazmapabitowazki.png.

    No i chce żeby kolizje z obiektami sprawdzała funkcja colision_line (linia ma być rozciągnięta 15 pixeli przed obiektem tak jak wskazuje ta różowa linia). No i bym mógł sobie sam obliczyć współrzędne x1,x2,y1,y1 pomiędzy którymi ma być rozciągnięta colision_line ale w tym problem że ta rakieta to jeden z co najmniej 20 modeli dostępnych. No więc pytanie brzmi: czy można jakoś automatycznie policzyć kierunek oraz długość lenghdirow w tej sytuacji (uwzględniając to że te 20 modeli rakiety jest różnej wielkości oraz rakieta może się poruszac w 36 (360/10) kierunkach?

  9. Mam w create podstawki czołgu taki kod:

    GML
    direction=90

    image_speed=0

    image_index=round(random(2))

    //tworzy lufe

    instance_create(x,y,obj_lufa)

    //tworzy gasienice

    if image_index=0

    {

    instance_create(lengthdir_x(x+17,direction+90),y,obj_gasienice_duze)

    instance_create(lengthdir_x(x+17,direction-90),y,obj_gasienice_duze)

    }

    chce żeby on tworzył 2 gąsienice (jedna po jednej stronie czołgu, a druga po drugiej) no i gdy image_index=0 to pokazuje się gąsienica ale tylko po jednej stronie czołgu a po drugiej nie. :crying:

  10. Mam animacje jazdy czołgu która składa się z dwóch klatek animacji. Jak zrobić ze jeśli speed=0 to byłaby wyświetlana tylko pierwsza klatka tej animacji a jak speed!=0 to byłyby wyświetlane 2 klatki naprzemiennie (tylko NIE tak że w begin step image_index=0 a w end step image_index=1).

×
×
  • Dodaj nową pozycję...