Skocz do zawartości

Bieg


Slax

Rekomendowane odpowiedzi

Witam, mam taki kod na chodzenie (W evenice: any key):

GML
//chodzenie...

var dir;

dir=direction;

 

if keyboard_check(ord('W'))

{

x+=lengthdir_x(0.9,dir)

y+=lengthdir_y(0.9,dir)

}

if keyboard_check(ord('S'))

{

x+=lengthdir_x(-0.9,dir)

y+=lengthdir_y(-0.9,dir)

}

if keyboard_check(ord('D'))

{

x+=lengthdir_x(0.9,dir-90)

y+=lengthdir_y(0.9,dir-90)

}

if keyboard_check(ord('A'))

{

x+=lengthdir_x(1,dir+90)

y+=lengthdir_y(1,dir+90)

}

I jak zrobić że jak trzymam wcisknięty shift to przez 5 sekund zamiast 0.9,dir było 1.2,dir

Proszę o odpowiedź...

Odnośnik do komentarza
Udostępnij na innych stronach

create :

a = 0.9

 

any key :

//chodzenie...
var dir;
dir=direction;
if keyboard_check(ord('W'))
{
x+=lengthdir_x(a,dir)
y+=lengthdir_y(a,dir)
}
if keyboard_check(ord('S'))
{
x+=lengthdir_x(-0.9,dir)
y+=lengthdir_y(-0.9,dir)
}
if keyboard_check(ord('D'))
{
x+=lengthdir_x(a,dir-90)
y+=lengthdir_y(a,dir-90)
}
if keyboard_check(ord('A'))
{
x+=lengthdir_x(1,dir+90)
y+=lengthdir_y(1,dir+90)
}

 

key press shift :

if ! alarm[0] alarm[0] = 1

alarm 0

if a = 0.9 {a = 1.2; alarm[0] = 5*room_speed; exit; } else {a = 0.9;}

 

jak chcesz to podmień jeszcze w chodzeniu -0.9 i 1 ;p

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//chodzenie...

var dir, m_speed;

dir=direction;

 

if (keyboard_check(vk_shift))

m_speed = 1.2;

else

m_speed = 0.9;

 

if keyboard_check(ord('W'))

{

x+=lengthdir_x(m_speed,dir);

y+=lengthdir_y(m_speed,dir);

}

if keyboard_check(ord('S'))

{

x+=lengthdir_x(m_speed,dir+180);

y+=lengthdir_y(m_speed,dir+180);

}

if keyboard_check(ord('D'))

{

x+=lengthdir_x(m_speed,dir-90);

y+=lengthdir_y(m_speed,dir-90);

}

if keyboard_check(ord('A'))

{

x+=lengthdir_x(m_speed,dir+90);

y+=lengthdir_y(m_speed,dir+90);

}

+ dodałem poprawki

btw.

x+=lengthdir_x(1,dir+90)

y+=lengthdir_y(1,dir+90)

Czemu tu jest 1?

Odnośnik do komentarza
Udostępnij na innych stronach

CREATE:

GML
chodzenie=1

 

 

STEP:

 

GML
if chodzenie=1

 

var dir;

dir=direction;

 

if keyboard_check(ord('W'))

{

x+=lengthdir_x(0.9,dir)

y+=lengthdir_y(0.9,dir)

}

if keyboard_check(ord('S'))

{

x+=lengthdir_x(-0.9,dir)

y+=lengthdir_y(-0.9,dir)

}

if keyboard_check(ord('D'))

{

x+=lengthdir_x(0.9,dir-90)

y+=lengthdir_y(0.9,dir-90)

}

if keyboard_check(ord('A'))

{

x+=lengthdir_x(1,dir+90)

y+=lengthdir_y(1,dir+90)

}

 

 

//

if chodzenie=2

 

var dir;

dir=direction;

 

if keyboard_check(ord('W'))

{

x+=lengthdir_x(1.2,dir)

y+=lengthdir_y(1.2,dir)

}

if keyboard_check(ord('S'))

{

x+=lengthdir_x(-1.2,dir)

y+=lengthdir_y(-1.2,dir)

}

if keyboard_check(ord('D'))

{

x+=lengthdir_x(1.2,dir-90)

y+=lengthdir_y(1.2,dir-90)

}

if keyboard_check(ord('A'))

{

x+=lengthdir_x(1,dir+90)

y+=lengthdir_y(1,dir+90)

}

 

key press shift

 

GML
chodzenie=2

key relase shift

GML
chodzenie=1

 

 

 

 

 

 

Troche okrężną drogą, ale to po to zebys zrozumial (jak znasz zmienne ;p)

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