Objekte stapeln sich, was kann ich da machen?

  • GM 8

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

  • Objekte stapeln sich, was kann ich da machen?

    Hallo wie man am Namen sieht bin ich neu und sehe nicht durch und bräuchte hilfe wer echt dankbar.

    Hier das problem

    Ich habe ein kleines Strategie spiel an den ich bastel und ich schaffe es nicht das die obj_ sich nicht über einander schieben da sie alle zum selben punkt laufen, (Zur Maus) habe ich 100 obj übereinander in Forum konnte ich leider nichts finden

    beispiel code:

    if selected=true
    {
    go_x=mouse_x
    go_y=mouse_y
    }


    gibt es da einen trick habe leider nur die Demo GM

    also bitte bitte hilfe

    Edit: Zusammengeschoben

    war wohl schlecht beschrieben
    wie macht man das spirtes oder OBJ sich nicht stapeln

    kann mir denn wer helfen irgendwie das wer tol

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bin Doch Neu ()

  • 1.Keine doppelposts(nutze doch den edit button)
    2.Die Überschrift ist unpassend
    3.Wir helfen hier alle freiwillig,also klingt mir: "bitte bitte helfen" etwas unpassend.
    4.Man kann sich zwar den Usernamen selbst aussuchen,doch dir sollte klar sein das man ihn nicht ändern kann

    Am besten du liest dir mal die Forenregeln durch und editierst den Beitrag nochmals.
    Vielleicht ist dann auch jemand so freundlich dir zu helfen :)

    mfg,derkimba

    Ps: Willkommen im Forum ;)
  • Freut mich :)

    Hast dus mal mit Solid probiert?
    (Im object den Hacken bei Solid setzen)

    mfg,derkimba

    EDIT: Sorry habs falsch verstanden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von derkimba ()

  • Wie führst du denn die bewegung von x zu go_x und y zu go_y momentan aus?
    (Code am besten mit dem gml Button posten der sich über der textbox befindet ;))

    Edit: Ich meine den GML button hier im Forum der über der textbox ist wenn man einen Beitrag verfasst :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von derkimba ()

  • Tut mir leid hier nur ein Auszug, denn wie man in der Demo exportiert keine ahnung

    Create Event:
    execute code:

    selected=false;
    life=100; //Lebenspunkte

    go_x=x
    go_y=y

    shoot_timer=10 // Schuss Timer
    alarm[0]=25




    Mouse EvStep Event:

    execute code:

    if point_distance(x,y,go_x,go_y)>32 //Wenn wir mehr als 32 Pixel vom Ziel entfernt sind,
    {
    direction=point_direction(x,y,go_x,go_y) //n?hern wir und in diese Richtung.
    speed=5
    }
    else //Falls nicht...
    {
    speed=0 //Stehenbleiben.
    }


    image_angle=direction
    if instance_exists(obj_kreuzer)
    {
    i=instance_nearest(x,y,obj_kreuzer)
    if distance_to_object(i)<200 and shoot_timer<=0
    {
    ii=instance_create(x+lengthdir_x(18,direction),y+lengthdir_y(32,direction),obj_rifle) //Etwas entfernt einen Schuss erzeugen, um keinen Suizid zu begehen.
    ii.direction=point_direction(x,y,i.x,i.y) //Richtung
    ii.speed=12 //Geschwindigkeit
    ii.dmg=10 //und Schaden weitergeben
    shoot_timer=10
    }
    }

    shoot_timer-=1


    ent for Glob Left Button:

    execute code:

    if selected=true
    {
    go_x=mouse_x
    go_y=mouse_y
    }


    Mouse Event for Glob Right Pressed:
    execute code:

    selected=false;

    Edit: Zusammengeschoben

    eine Frage dazu noch wie der gml Button geht

    Fügt man den Text einfach dazwischen
  • Also, um dem Grauen hier endlich mal ein Ende zu setzten (hoffentlich).
    Du musst auf jeden Fall mit place_meeting(x,y,obj) überprüfen, ob das Objekt mit einem anderen Kollidiert und wenn ja, eine Gegenmaßnahme ausführt, um nicht in das andere reinzulaufen. Z.B. könntest du einfach solange die speed auf 0 setzen, bis der Platz wieder frei ist um weiter zu laufen.
    Diesen Tipp jetzt zu implementieren bleibt dir überlassen.
  • Die idee ist gut aber es passiert leider nichts

    Ich habe das so gemacht

    GML-Quellcode

    1. if (place_meeting(x,y,obj_einheit))
    2. {
    3. speed=0
    4. }


    Edit: Zusammengeschoben

    Speed=0 Lol

    gibt es denn sowas ähnliches wie das


    GML-Quellcode

    1. (place_meeting(x,y,obj_einheit))
    2. {
    3. move_random (10,10)
    4. }


    so das er in eine freie richtung geht

    ich hab zwar ne einfache lösung gefunden aber die Packt den code viel zu voll und bei 100 und mehr einheten ist das nicht gut.

    geht es nicht irgendwie ganz simpel so wie hold dictance

    tut mir leid wenn ich nerve und danke für die hilfe