Skocz do zawartości

Jak stworzyć odległość czasową między strzałami?


Maciol39

Rekomendowane odpowiedzi

Witam. Mam pytanie, czy wie ktoś jak mógłbym stworzyć odległość czasową między strzałami? tzn chodzi mi o to by po strzale trzeba było odczekać np 5 sekund aby móc oddać kolejny strzał i umieścić pasek na którym było by widać jak np broń się ładuje i po napełnieniu paska można by było oddać kolejny strzał a pasek by się opróżniał i ładował. Z góry dziękuje za odpowiedź i przepraszam za chaotyczny styl pisania.

Odnośnik do komentarza
Udostępnij na innych stronach

Create:

GML
cshoot=true; // Zmienna która 'mówi' czy można strzelać

A tu gdy strzelamy:

GML
if(cshoot) // Sprawdzamy czy zmienna cshoot == TRUE ( prawda )

{

// Kod na strzelanie

cshoot=false; // Negujemy zmienną cshoot i już nie można strzelać

alarm[0 /*ID alarmu, są chyba max 12*/]=room_speed*5; // Mnożymy szybkość gry przez 5 i mamy 5 sekund

}

Alarm[0]:

GML
cshoot=true;
Odnośnik do komentarza
Udostępnij na innych stronach

Create:

GML
cshoot=true; // Zmienna która 'mówi' czy można strzelać

A tu gdy strzelamy:

GML
if(cshoot) // Sprawdzamy czy zmienna cshoot == TRUE ( prawda )

{

// Kod na strzelanie

cshoot=false; // Negujemy zmienną cshoot i już nie można strzelać

alarm[0 /*ID alarmu, są chyba max 12*/]=room_speed*5; // Mnożymy szybkość gry przez 5 i mamy 5 sekund

}

Alarm[0]:

GML
cshoot=true;

Nie daje rad z tym:( Próbowałem to wpisać na wiele sposobów, troche to pozmieniałem i nic dalej strzela za kazdym kliknięciem myszki.

Odnośnik do komentarza
Udostępnij na innych stronach

Create:

GML
cshoot=true; // Zmienna która 'mówi' czy można strzelać

A tu gdy strzelamy:

GML
if(cshoot) // Sprawdzamy czy zmienna cshoot == TRUE ( prawda )

{

// Kod na strzelanie

cshoot=false; // Negujemy zmienną cshoot i już nie można strzelać

alarm[0 /*ID alarmu, są chyba max 12*/]=room_speed*5; // Mnożymy szybkość gry przez 5 i mamy 5 sekund

}

Alarm[0]:

GML
cshoot=true;

Po co zapychać zmienną?

LEFT CLICK:

GML
if alarm[0]=-1

{

alarm[0]=room_speed*5;

//!!!w tym miejscu kod na strzelanie!!!

};

ALARM 0:

GML
//
Odnośnik do komentarza
Udostępnij na innych stronach

GML
if alarm[0]=-1

{

alarm[0]=room_speed*5;

//!!!w tym miejscu kod na strzelanie!!!

};

A nie powinno być tak:
GML
if alarm[0]=-1

{

//!!!w tym miejscu kod na strzelanie!!!

alarm[0]=room_speed*5;

};

?

Bez różnicy, ponieważ zmiana warunku spełnionego w jego wnętrzu nie wpłynie na przerwanie go.

@Maciol39: Użyj tego co ja napisałem.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli bez alarmów to:

Create:

GML
Time=0;

Step:

GML
Time-=1;

if(Time<=0)

{

// Strzelanie

Time=100;

}

To strzelanie to ja mam akurat zapisane w 10 klockach, nie wiem czy to coś zmienia próboałem podzielić ten kod i dać pierwsze linijki przed te klocki a ostanie za. Wogóle sam nie wiem co robie:) Mam bochatera mam pocisk i pocisk uwalnia sie po kliknieciu prawego przecisku mszku (Global Right Click) nie wiem co mam z tym zrobić niby takie porste a nie wiem czemu nie działa

Odnośnik do komentarza
Udostępnij na innych stronach

Nie walic to tylko jak nie umiesz to trzeba probowac

 

Masz bohatera

 

Dajesz mu w CREATE

GML
mozestrzelac = true

 

Podczas prawego klikniecia

GML
if mozestrzelac = true then

{

//kod na strzal

mozestrzelac = false

alarm[0] = room_speed*3

 

W evencie ALARM[0]

GML
mozestrzelac = true

 

WSZYSTKO TO W BOHATERZE

Odnośnik do komentarza
Udostępnij na innych stronach

Create Event:

cshoot=true

 

Alarm Event for alarm 0:

execute code:

 

cshoot=true

 

Mouse Event for Glob Right Pressed:

execute code:

if alarm[0]=-1

{

alarm[0]=room_speed*5;

}

if image_xscale is smaller than sign( speedH )

create instance of object Glut at relative position (-7,-80)

else

if image_xscale is larger than sign( speedH )

create instance of object Glut at relative position (2,-80)

else

if speedH is larger than 0

create instance of object Glut at relative position (2,-80)

if speedH is smaller than 0

create instance of object Glut at relative position (-7,-80)

 

Co ja mam tutaj pozmienić jak to ma wyglądać?

Odnośnik do komentarza
Udostępnij na innych stronach

http://www.speedyshare.com/629310966.html

( Na Speedyshare, bo po co zawalać uploadera takim dzadostwuem? )

@UP: LOL......................................................

GML
if alarm[0]=-1

{

if image_xscale is smaller than sign( speedH )

create instance of object Glut at relative position (-7,-80)

else

if image_xscale is larger than sign( speedH )

create instance of object Glut at relative position (2,-80)

else

if speedH is larger than 0

create instance of object Glut at relative position (2,-80)

if speedH is smaller than 0

create instance of object Glut at relative position (-7,-80)

alarm[0]=room_speed*5;

}

Odnośnik do komentarza
Udostępnij na innych stronach

To strzelanie to ja mam akurat zapisane w 10 klockach, nie wiem czy to coś zmienia próboałem podzielić ten kod i dać pierwsze linijki przed te klocki a ostanie za. Wogóle sam nie wiem co robie:) Mam bochatera mam pocisk i pocisk uwalnia sie po kliknieciu prawego przecisku mszku (Global Right Click) nie wiem co mam z tym zrobić niby takie porste a nie wiem czemu nie działa

Mieszanie kodu i klocków nie wyjdzie ci na zdrowie. Jeżeli nie umiesz strzelania zrobić poprzez kod to zamie,ń je na kod action decoderem.

A tak wogule to ty się dziwisz jak dałeś poza warunek całe strzelanie?!

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