Skocz do zawartości

Rozrzut


Rekomendowane odpowiedzi

Witam, mam trochę czasu więc siedzę na parszywą dwunastką :D

Ale mam problem, korrystam z silnika Marka. S, sprawa generalniue prosta, ale jak zrobić rozrzut, tzn. żeby tworzyło mi np. 6-8 pocisków i żeby rozchodziły się w takie "drzewko" :D Oto kod który mam przy okazji tworzenia pocisku.

GML
_len = -30 //odległosć w której zostanie stworzony pocisk

_x = lengthdir_x( _len , direction )

_y = lengthdir_y( _len , direction )

 

if ( global.ammo_wmagazynku[ bron ] > 0 and can and laduj )

{

i = instance_create( x + _x , y + _y , typ_pocisk[ bron ] ) //tworzymy pocisk

i. direction = direction // nadajemy mu cechy

i. image_angle = direction

i. sprite_index = bullet_sprite[ bron ]

i. speed = bullet_speed[ bron ]

i. damage = weapon_damage[ bron ]

global.ammo_wmagazynku[ bron ] -= 1 // odejmujemy od stanu amunicja aktywnej broni 1

can = false

alarm[ 0 ] = weapon_time[ bron ]

if ( global.ammo_wmagazynku[ bron ] > 0){

instance_create( x + _x , y + _y , obj_luska[ bron ] )

 

if ( global.ammo_wmagazynku[ bron ] = 0){

instance_create( x + _x , y + _y , obj_lastluska[ bron ] )

}

 

 

sound_play ( weapon_sound[ bron ] )

}

 

if ( global.ammo_wmagazynku[ bron ] = 0)

{

sound_play( sound_last[ bron ] )

}

 

 

 

shoot = true

alarm[ 2 ] = sprite_get_number( sprite_strzal[ bron ]) *3

image_index = 0

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML
kat_rozrzutu = 30; // 60 stopni 30 po jednej i 30 po drugiej stronie

// 6 - 8 pociskow

ilosc_pociskow_min = 6;

ilosc_pociskow_dodatkowych = 2;

 

_len = -30 //odległosć w której zostanie stworzony pocisk

_x = lengthdir_x( _len , direction )

_y = lengthdir_y( _len , direction )

 

if ( global.ammo_wmagazynku[ bron ] > 0 and can and laduj )

{

repeat( ilosc_pociskow_min + irandom( ilosc_pociskow_dodatkowych ) )

{

i = instance_create( x + _x , y + _y , typ_pocisk[ bron ] ) //tworzymy pocisk

i. direction = random_range( direction - kat_rozrzutu, direction + kat_rozrzutu ) // rozrzut

i. image_angle = direction

i. sprite_index = bullet_sprite[ bron ]

i. speed = bullet_speed[ bron ]

i. damage = weapon_damage[ bron ]

global.ammo_wmagazynku[ bron ] -= 1 // odejmujemy od stanu amunicja aktywnej broni 1

}

can = false

alarm[ 0 ] = weapon_time[ bron ]

if ( global.ammo_wmagazynku[ bron ] > 0){

instance_create( x + _x , y + _y , obj_luska[ bron ] )

 

if ( global.ammo_wmagazynku[ bron ] = 0){

instance_create( x + _x , y + _y , obj_lastluska[ bron ] )

}

 

 

sound_play ( weapon_sound[ bron ] )

}

 

if ( global.ammo_wmagazynku[ bron ] = 0)

{

sound_play( sound_last[ bron ] )

}

 

 

 

shoot = true

alarm[ 2 ] = sprite_get_number( sprite_strzal[ bron ]) *3

image_index = 0

}

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

sorki za dwa posty, ale ważna sprawa.

Efekt jest spoko, ale co zrobić aby pozycja początkowa pocisków była zawsze jednakowa, bo użyłem tej zmiennej "kat_rozrzutu" nie tylko do strzelb, ale też do mniej celnych pistoletów maszynowych (np. Pepeszki) ale pociski tworzą się w różnych pozycjach i wygląda to niecodziennie. Jak to poprawić ?

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