Skocz do zawartości

Fiox

Użytkownicy
  • Postów

    6
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia Fiox

Chicken

Chicken (1/13)

0

Reputacja

  1. Myślałem że działa, ale jednak nie do końca, bo teraz postać się nie porusza. Jedynie obraca się w kierunku w którym powinna iść, ale się nie przemieszcza.
  2. Działa :) Będę musiał poczytać o tej negacji. Pozdrawiam
  3. Witam. Mam animację broni, a dokładnie to odrzutu zamka. Są dwa sprity: jeden to postać z bronią w ręku (spr_player_gun), a drugi to dwu klatkowa animacja postaci z odrzutem zamka i jego powrotem na swoje miejsce (spr_player_shot). Wygląda to tak: Glob Left Pressed -> sprite_index = spr_player_shot; Animation end -> if sprite_index=spr_player_shot sprite_index=spr_player_gun Polega to na tym, że po jednym naciśnięciu LPM animacja wykonywana jest tylko raz, czyli zamek broni w tył i spowrotem. No i wszystko działa dobrze, do czasu aż dodam skrypt na poruszanie się postaci (w step) GMLxx = x; yy = y; go_up = false; go_down = false; go_right = false; go_left = false; angle = 0; if (keyboard_check(vk_up)) { go_up = true; } if (keyboard_check(vk_down)) { go_down = true; } if (keyboard_check(vk_right)) { go_right = true; } if (keyboard_check(vk_left)) { go_left = true; } buttons_pushed = (go_up & 1) + (go_right & 1) + (go_left & 1) + (go_down & 1); if (buttons_pushed >= 1 && buttons_pushed <= 2) { x_dist = 48; y_dist = 48; if (go_right && go_up) angle = pi*0.25; else if (go_up && go_left) angle = pi*0.75; else if (go_left && go_down) angle = pi*1.25; else if (go_down && go_right) angle = pi*1.75; else if (go_right) angle = 0; else if (go_up) angle = pi*0.5; else if (go_left) angle = pi; else if (go_down) angle = pi*1.5; xx += cos(angle)*x_dist; yy -= sin(angle)*y_dist; image_angle = -90 + angle * 180 / pi; } if place_free(xx,yy) { if mp_linear_step(xx,yy,4,false) { entered = true; if (!keyboard_check(vk_up) && !keyboard_check(vk_down) && !keyboard_check(vk_left) && !keyboard_check(vk_right)) { image_single=0; image_speed=0; } } } else { xx = x; yy = y; } Po dodaniu tego kodu, animacja zatrzymuje się na pierwszej klatce sprita spr_player_shot, czyli tej z zamkiem broni przesuniętym w tył. Dalej nic się nie da zrobić, po ponownym naciśnięciu LPM animacja zostaje tak jak jest, czyli z odrzuconym zamkiem. Dlaczego tak się dzieje i jak temu zapobiec? Pozdrawiam i z góry dziękuje za pomoc :)
  4. Wielkie dzięki, nie zauważyłem wcześniej opcji Animation end. Masz u mnie duże piwo :)
  5. Witam. Mam pewien problem, a mianowicie mam bardzo prościutki kod który odpowiada za animacje odrzutu zamka w broni. Z tym że chciałbym, aby po naciśnięciu LPM i jego przytrzymaniu, animacja odrzutu wykonywała się tylko raz, niezależnie od tego jak długo przytrzymam przycisk a nie powtarzała się cały czas. Wygląda to mniej więcej tak : objekt gracza: -> global left pressed -> sprite_index = spr_player_shot -> global left relased -> sprite_index = spr_player spr_player_shot - animacja odrzutu zamka przy naciśnięciu lewego przycisku myszy spr_player - statyczny obrazek broni Jak widać mój kod nie jest szczególnie wybitny ani skomplikowany, więc nawet nie wstawiałem go w znacznik kodu gml :) Za wszelką pomoc z góry dziękuje.
×
×
  • Dodaj nową pozycję...