Kleines Traffic (Ampeln) Problem!

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kleines Traffic (Ampeln) Problem!

    Hallo.
    Ich habe ein recht simples problem, bekomme es dennoch nicht gelöst.
    Sobald ein auto gegen die ampel fährt (Kreis auf der straße) und diese rot ist (<-- Dieser code ist komplett fertig), soll das auto die speed 0 bekommen.
    Es soll nicht die Direction gestopt werden, nur die Speed solange auf 0 setzen, bei grüner Ampel wieder auf 3, so das er seine vorherige direction beibehält.

    Gruß.
  • Und wo genau ist jetzt das Problem? :p
    Wie sieht den dein derzeitige Code aus?

    Das Grundprinzip:

    Im step Event

    GML-Quellcode

    1. if(place_meeting(x,y,obj_Ampel)
    2. {
    3. if(Ampel==rot)
    4. {
    5. speed=0
    6. }
    7. else if(Ampel==grün)
    8. {
    9. speed=3;
    10. }
    11. }
    Alles anzeigen

    Wenn du die direction nicht änderst müsste er auch weiterhin in die selbe Richtung fahren, falls das nicht der Fall ist speicher die direction vorher einfach in eine andere Variable und gib sie wieder aus wenn du speed auf 3 setzt.
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Dann zeig doch mal deinen Code und was du bisher schon versucht hast.
    Sonst kann ich dir nicht sagen was du falsch gemacht hast und eine Komplett lösung zu deinem Problem kann und werd ich dir nicht geben da du sonst nix dabei lernst.
    Wie heißt es so schön: aus Fehlern lernt man. ;)


    MFG
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Habe es nun selbst gelöst, die speed methode etwas verändert.

    Das andere Problem: Die Autos sollen alle hintereinander an einer Ampel stehen.
    Die Autos kann ich nicht auf "Solid" stellen, da sie sonst wie im Test überall wände durchfahren, dann mal stehen bleiben usw.
    Ich kann aber auch nicht abfragen, ob ein auto das andere berührt, denn dann würden beide dauerhauft zum stillstand kommen, weil alle auto objekte exakt den gleichen code haben.

    Gruß
  • Luccraft schrieb:

    Habe es nun selbst gelöst, die speed methode etwas verändert.

    Das andere Problem: Die Autos sollen alle hintereinander an einer Ampel stehen.
    Die Autos kann ich nicht auf "Solid" stellen, da sie sonst wie im Test überall wände durchfahren, dann mal stehen bleiben usw.
    Ich kann aber auch nicht abfragen, ob ein auto das andere berührt, denn dann würden beide dauerhauft zum stillstand kommen, weil alle auto objekte exakt den gleichen code haben.

    Gruß
    Es fällt leichter zu antworten, wenn du explizite Fragen (mit Fragezeichen) stellst. Dein Problem Nachvollziehen ist sonst nur leichter möglich, wenn du deine Projektdatei hochlädst oder wenigstens den entsprechenden Code, mit dem du es vergebens versuchst, einfügst.

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }
  • du meinst vielleicht,
    dass alle autos auf der strasse zur roten ampel hin stehen bleiben sollen (bei rot) und nicht erst bis an die ampel ran fahren?
    (ich denke, das passiert gerade bei dir, oder?)
    vielleicht klappt es,
    wenn die autos bereits auf der strasse zur ampel hin einen eindeutigen wert erhalten indem du z.b. die strassenabschnitte durchnummerierst.
    (fragst du einfach mit dem gleichen prinzip ab, wie du es scheinbar für die ampel gelöst hast, nur entsprechend mit auf die strassenlänge angepasstem range).

    danach sagst du einfach, dass bei allen autos in diesem range der speed gleichzeitig auf null gesetzt wird...dann stehen sie auch im gleichbleibendem abstand.
    bedenke, die anzahl der vorhandenen autos in diesem abschnitt hochzählen zu lassen um somit die position vor der ampel zu variiren, sonst könnte es passieren, dass ein auto bereits beim einbiegen in eine "rote ampel strasse" am anfang dieser strasse stehen bleibt, obwohl die strasse leer ist Oo

    keine ahnung, ob dir das hilft - ohne code schwer zu sagen, wie du eine lösung integrieren könntest.

    mehr input bitte,OC

    EDIT: ups, zu lange fürs schreiben gebraucht, mein sohn funkte grad dazwischen...aber nun bin ich zu faul es anzupassen :D
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Ein Auto fährt natürlich an die Ampel ran, bei der collision bleibt es stehen.
    Alle anderen die in dieser "Rot zeit" kommen, sollen sich (Wie im Reallife) hinter dieses Auto stellen.
    Das mit den Abschnitten wird nicht ganz funktionieren, die stadt wird hinterher ca. 50 kreuzungen haben, ein haufen autos und menschen. Da wären abschnitte viel zu mühsam.

    Gruß
  • Luccraft schrieb:

    Ich kann aber auch nicht abfragen, ob ein auto das andere berührt, denn dann würden beide dauerhauft zum stillstand kommen, weil alle auto objekte exakt den gleichen code haben.
    und wenn du hier vielleicht nur die autos mit speed = 0 berücksichtigs?

    OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • 50 - 100 Autoobjecte ????
    dann gib den doch einfach ein parent.

    GML-Quellcode

    1. //Code zum anhalten des Autos wenn nicht frei ist
    2. if place_meeting(x+hspeed*20,y+vspeed*20,obj_auto_parent){
    3. speed=0
    4. else
    5. speed=3
    6. }
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Ich erkläre es mal ein wenig besser, mit Bildern.

    Das anhalten nacheinander ist gelöst. jedoch fahren sie nicht mehr los.

    Dies ist der Standart Sprite von einem Auto. (Er zeigt nach oben):
    epvpimg.com/ro9Ne


    Dieses Auto wird je nach direction gedreht, dass heißt wenn es links fährt, ist der sprite automatisch auch links gedreht.

    Nun zur Frage.
    Wie bekomme ich es hin, dass die Autos nur diese Range abfragen? (Rot Makiert:)
    epvpimg.com/FbmLb


    Sollte dort kein Auto mehr sein (vor ihnen), sollen sie wieder losfahren.

    Gruß
  • Abstand funktioniert, hatte vorher nur was übersehen.



    Das anhalten nacheinander ist gelöst. jedoch fahren sie nicht mehr los.

    Dies ist der Standart Sprite von einem Auto. (Er zeigt nach oben):
    epvpimg.com/ro9Ne


    Dieses Auto wird je nach direction gedreht, dass heißt wenn es links fährt, ist der sprite automatisch auch links gedreht.

    Nun zur Frage.
    Wie bekomme ich es hin, dass die Autos nur diese Range abfragen? (Rot Makiert:)
    epvpimg.com/FbmLb


    Sollte dort kein Auto mehr sein (vor ihnen), sollen sie wieder losfahren.

    Gruß



    Frage ist noch Offen ;)


    Gruß