Skocz do zawartości

Ciężarówka


Maxpayn

Rekomendowane odpowiedzi

A więc pisze silnik ciężarówki z naczepą Link,

wszystko niby ok, ale nie umiem poprawić błędów z

1. Jak cofa to przyczepka może tak skręcić że się wbije w tira, a chcę że jak już sie zbyt mocno obróci to

naczepa = 0;

2. Można podpiąć na raz z 2, 3, 4 naczepy a nawet i więcej.

3. Nie mogę zrobić dobrej kolizji z naczepą bo jak ją zrobię to może i podepnę naczępę ale z nią się nie ruszę. Na to pytanie chyba sam sobie znalazłem odpowiedź :D pokombinuje z other.solid :). Niestety coś nie wychodzi. :(

4. I jaki jest skrypt że jeśli się dotknie się originu?

Będę wdzięczny za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Wisznu, z tego co mi się wydaje to właśnie z jego przykładu skorzystał.

 

Maxpayn, do 2, wagony? To wtedy naczepy powinny działać tak jak tir.

 

Z 1 i 3 się pomęcz. Nie jest to trudne ( serio ), ale i tak trzeba się napisać.

 

Pozdrawiam, mroow. :cat:

Odnośnik do komentarza
Udostępnij na innych stronach

Nie dwa wagony tylko ze np mam podczepioną naczepę i już zrobiłem ze w tedy nie można podpiąć drugiej,

a problem tkwi w tym że jak koliduje z dwoma czy tam trzema itd naczepami i nacisnę R to się podepną te z którymi koliduje.

Kombinuje z tym pierwszym i nie wiem czy by działało że

To dałem w end step obiektu obj_naczepa:

if( obj_tir.direction ) > image_angle + 90 AND ( obj_tir.direction ) < image_angle - 90
{
      naczepa = 0;
}

 

Kurde kombinuje i nie wychodzi poddaje się. :(

I z 3 coś kombinowałem z other.solid, position_meeting i kupa. :(

A z 2 dam sobie radę.

 

No kurde pomóżcie. :rip:

Odnośnik do komentarza
Udostępnij na innych stronach

To zamiast przełączników w stylu zaczepiona = true, nie zaczepiona = false wykożystaj id przyczepy, wtedy możesz dokładnie określić która jest przyczepiona - a jak wiadomo w zmiennej możesz trzymać 1 id obiektu. Łapiesz?

 

Nie dziw się że nikt nie pomaga, po prostu umiejętności większości ograniczają się do użycia wbudowanych funkcji.

 

Pozdrawiam, mroow. :cat:

Odnośnik do komentarza
Udostępnij na innych stronach

Co do 2 to też miałem taki problem ale go zlikwidowałem:

CREATE:

global.podpiete=false

W STEP:

if global.podpiecie=false
{
if( abs( speed ) ) < 2.2
{
     if( keyboard_check_pressed( ord( 'R' ) ) )
     {
     global.podpiecie=true
//ITD

Dalej w STEP:

if obj_naczepa.naczepa=0 { global.podpiecie=false }
//Sprawdzamy czy przyczepy nie są przyczepione

Odnośnik do komentarza
Udostępnij na innych stronach

Dodaj sobie skrypt: dirdif , a w nim:

var dif
if(argument1>argument0+180)
{
dif=-((360-argument1)+argument0)
}
else{
if(argument0>argument1+180)
{
dif=((360-argument0)+argument1)
}
else{
dif=argument1-argument0
}
}
return dif

On sprawdza kąt pomiędzy jednym kątem a drugim. Kombinuj z tym.

To rozwiązanie jeżeli chodzi o cofanie z przyczepą. czyli jeżeli kąt jest za duży, to coś tam :P

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem co zrobić z problemem nr 1 !

Dodaj ten skrypt dirdiv, co podałem powyzej, i w end stepie przyczepy daj:

if( naczepa ) = 1
{
     x = obj_tir.x - cos( degtorad( obj_tir.direction ) ) * 11;
     y = obj_tir.y + sin( degtorad( obj_tir.direction ) ) * 11;
     speed = obj_tir.speed;
     if!( x = xprevious && y = yprevious ) 
     { 
          image_angle = point_direction( xprevious - cos( degtorad( image_angle ) ) * 70, yprevious + sin( degtorad( image_angle ) ) * 70, x, y );
     if dirdiv(obj_tir.direction,image_angle)>100 obj_tir.direction +=dirdiv(obj_tir.direction,image_angle)-100   
     if dirdiv(obj_tir.direction,image_angle)<-100 obj_tir.direction +=dirdiv(obj_tir.direction,image_angle)+100      
     }
     else obj_tir.speed*=0.95
}
else
{
     friction = 0.2;
}

 

 

Pozdrawiam, Gładki tynk elewacyjny. :clover:

Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 lat później...

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