Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Witam, chcialem zrobic cos takiego: moj objekt ma hspeed=5, kiedy dotknie drugiego objektu to chcialem zeby jego speed ktore mial zostalo zapamietane gdzies do pamieci podrecznej, ma zostac zatrzymany na kilka sekund, ale potem musi z powrotem dostac tej swojej predkosci. probowalem to zrobic w nastepujacy sposob:

 

->

speed_podreczne=hspeed

hspeed=0

Alarm[0]=10

<-

 

 

w alarmie 0: ->

objekt.hspeed=speed_podreczne

<-

 

No ale oczywiscie speed_podreczne zmienia sie na 0 bo to pozniejsze zatrzymanie to powoduje. Nie wiem jak z tego wybrnac.

prosze o pomoc

 

(zaznaczam jeszcze ze ta hspeed to przykladowa predkosc w danej chwili bo wlasnie jemu sie zmienia czesto predkosc)

Opublikowano
Witam, chcialem zrobic cos takiego: moj objekt ma hspeed=5, kiedy dotknie drugiego objektu to chcialem zeby jego speed ktore mial zostalo zapamietane gdzies do pamieci podrecznej, ma zostac zatrzymany na kilka sekund, ale potem musi z powrotem dostac tej swojej predkosci. probowalem to zrobic w nastepujacy sposob:

 

->

speed_podreczne=hspeed

hspeed=0

Alarm[0]=10

<-

w alarmie 0: ->

objekt.hspeed=speed_podreczne

<-

 

No ale oczywiscie speed_podreczne zmienia sie na 0 bo to pozniejsze zatrzymanie to powoduje. Nie wiem jak z tego wybrnac.

prosze o pomoc

 

(zaznaczam jeszcze ze ta hspeed to przykladowa predkosc w danej chwili bo wlasnie jemu sie zmienia czesto predkosc)

deklarujesz zmienną alarm0(jako false) i dajesz w kolizji:

if alarm0 = false
  {speed_podreczne=hspeed;
  hspeed=0;
  alarm[0]=10;
  alarm0=true;

W alarmie(0):

hspeed=speed_podreczne;
alarm0=false;

Opublikowano

Po co to? Po pierwsze powiedzial, ze jego postac ma predkosc 5... Wiec nie widze problemu:

Create:

kolizja = false;

Step:

if kolizja = false
{
hspeed = 5;
}
if kolizja = true
{
hspeed = 0;
}

Kolizja z obiektem:

alarm[0] = 3;

Alarm 0:

kolizja = true;
alarm[1] = 10; //przykladowy czas...

Alarm 1:

kolizja = false;

  • Administratorzy
Opublikowano

create:

check=false;
last_hspeed=0;
hspeed=0;

 

kolizja:

if check=false
{
check=true;
last_hspeed=hspeed;
hspeed=0;
alarm[0]=10;
}

 

alarm0:

check=false;
hspeed=last_hspeed;

 

btw. można też prościej bez zmiennej check, dając if alarm[0]=-1 - bo tyle wynosi wyzerowany alarm.

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