Skocz do zawartości

trolu122

Użytkownicy
  • Postów

    575
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez trolu122

  1. robie platformową strzelaninke i chce zrobic dobre AI przeciwnika, jak zrobic takie pole widzenia:

     

    |\

    |/ O

     

    że o to głowa a ten trójkąt to pole widzenia? i wzdłuż ciągnie sie ono do konca viewa i tak zwęża ku głowie? zeby pole było ruchome bo ludzik będzie sie rozglądał w góre i dół, a jak nas zobaczy to cos tam?

  2. a mozna prosic na image_angle? ruch jest płynniejszy i lepiej wygląda

    paztym nie działa ;/

    sorry nie dałem drawa

    ale nie ma takiego kątu -20 ;/

     

    ok mam :D zrobiłem direction 90 zasięg od 110 do 70 tylko w drawie direction-90 i jest :D

    ale jakby ktos mógł podać na image_angle byłoby jeszcze lepiej ;)

  3. tnz tak ma byc?

    GML
    var r,odl;

    r=150;

     

    if speed<0.1

    {

    instance_create(x,y,wybuch);

     

    with(wrog)

    {

    odl=point_distance(x,y,other.x,other.y);

    if odl<r zycie-=odl-r;

    }}

     

    friction = 0.3;

     

     

    ok mam tak powinno być

    GML
    var r,odl;

    r=150;

     

    if speed<0.1

    {

    instance_create(x,y,wybuch);

     

    with(wrog)

    {

    odl=point_distance(x,y,other.x,other.y);

    if odl<r

    {zycie-=r-odl;

    }}

    instance_destroy()}

     

    friction = 0.3;

  4. tak ale nic sie nie dzieje chyba ze cos xle zrobiłem

    GML
    if speed<0.1

    {

    instance_create(x,y,wybuch);

    instance_destroy();

     

    var r,odl;

    r=150;

    with(wrog)

    {

    odl=point_distance(x,y,other.x,other.y);

    if odl<r zycie-=odl-r;

    }

     

    }

     

    friction = 0.3;

  5. Zamiast zmniejszać ilość życia parenta to zmniejszaj życie najbliższego obiektu za pomocą place_nearset czy jakoś. Zaraz dam przykład.

     

    Edit: Przykład

    no dobra ale mam kilka rodzai wrogów :/

    pozatym wybuch zabiera zycie tylko najblizszemu przeciwnikowi

  6. granat w stepie ma

    GML
    if speed<0.1

    {

    instance_create(x,y,wybuch)

    instance_destroy()

     

    if distance_to_object(wrog)<150

    {

    odl=distance_to_object(wrog)

    wrog.zycie-=round((150-odl))}

    }

    if sprite_index=(sprite7)

    {

    image_speed=1

    }

    friction = 0.1

    wrog to parent dla wszystkich przeciwników i jak zrobic zeby kazdemu wrogowi zabierało wg. jego odległosci od wybuchu a nie wszystkim tyle samo/

  7. GML
    near=instance_nearest(x,y,wrog)

     

    //kiedy widzi przeciwnika strzela

    if !collision_line( x, y, near.x, near.y, object2, 1, 1 )

    {agresja=1

    direction=point_direction(x,y,near.x,near.y)

    if ( ready=1 && agresja=1)

    {

    c=instance_create(x+lengthdir_x(35,direction), y+lengthdir_y(35,direction), pocisk_1)

    c.direction=direction +random(5) -random(5)

    c.speed=10

    c.damage=10

    alarm[0]=5

    ready=0

    }}

     

    // jak teren czysty agresja=0 ....

    if collision_line( x, y, near.x, near.y, object2, 1, 1 )

    {agresja=0}

     

    // ... i jak trzeba biegnie do nas

    if (distance_to_point(player.x,player.y)>200 && agresja=0)

    {mp_potential_step(player.x,player.y,2,0)}

     

    if (collision_line( x, y, player.x, player.y, object2, 1, 1 ) && agresja=0)

    {mp_potential_step(player.x,player.y,2,0)}

     

    // gdy przeciwnik jest za blisko wycofuje sie

    if (distance_to_point(near.x,near.y)<200 && !collision_line( x, y, near.x, near.y, object2, 1, 1 ))

    {speed=-2}

    else

    {speed=0}

     

    oto kod :D całkiem nieźle mi chyba wyszedł tylko zastanawiam sie jak zrobic wycofywanie, tzn gdy przeciwnik idzie w kierunku pomocnika i jest za blisko, zrobiłem spedd=-2 ale kiedy pomocnik nachodzi na sciane animacja skacze i brzydko to wygląda ma ktos jakis pomysl?

  8. robie gre top down i chciałbym zrobic pomocnika. kiedy widzi przeciwnika ma do niego strzelać jak nie widzi i jestesmy za daleko ewentualnie za scianą to biegnie do nas. wrog to obiekt który wszystcy przeciwnicy mają w parent, object2 to sciana i mam takie cos

     

    GML
    near=instance_nearest(x,y,wrog)

     

    if !collision_line( x, y, wrog.x, wrog.y, object2, 1, 1 )

    {agresja=1

    direction=point_direction(x,y,near.x,near.y)

    if ( ready=1 && agresja=1)

    {

    c=instance_create(x+lengthdir_x(35,direction), y+lengthdir_y(35,direction), pocisk_1)

    c.direction=direction +random(5) -random(5)

    c.speed=10

    c.damage=25

    alarm[0]=20

    ready=0

    }}

     

    if collision_line( x, y, wrog.x, wrog.y, object2, 1, 1 )

    {agresja=0}

     

    tylko ze ludzik nie wiem czemu stoi jak głupi i nic nie robi ;/ nawet jak wróg jest na widoku. czasem strzeli raz i koniec i za nic nie moge dojsc co jest nie tak bo jak dla mnie powinno byc dobrze ;p

×
×
  • Dodaj nową pozycję...