Gedrawtes Rechteck ziehen

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

  • Guten Abend!!!

    Ich melde mich doch noch mal, auch wenn du nicht meinen Erwartungen nachgekommen bist.

    1. Dein Code ist trotzdem grausam. :)

    2. "Jetzt" ist falsch gesetzt.

    Schreibe mal hier: //Dieser Code steht bei dir am Ende des Draw-Events

    Quellcode

    1. if(selected and hold and mouse_check_button_released(mb_left))
    2. {
    3. hold = false;
    4. selected = false;
    5. jetzt = false; //hier bitte Umdenken!!!
    6. endposition_x = mouse_x;
    7. endposition_y = mouse_y;
    8. }


    Und außerdem solltest du dir etwas besseres für deine Koordinatensetzungen einfallen lassen.

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

  • wieso sagst du dauernd mein code ist grausam....zeig mir du mal wie du 6 rechtecke drawst ..genau so sieht das dann aus...und wegen den code fürs drücken usw ja sind sie halt im draw event na und ich hab dir schon mal gesagt das ich die wenns fertig ist ins step event rein tu...ich kann auch so wie bei deinem coden das waren ja nur ein leeres rechteck usw...danke aber ich werds schon selbst schaffen und wenn nicht wird mir sicher jemand anderes hier helfen der nicht gleich so negativ schreibt....




    @all others

    also ich hab noch das problem mit dem neuen erstellen von einem rechteck wenn schon eines existiert.
    ich hab ja switchrect und wenn die variable true ist werden die rechtecke für das switchrect gezeichnet.
    und wenn ich dann im raum klicke und ein neues erstellen will kommt natürlich keines weil es schon eins gibt.
    wie kann ich das machen ohne das ich switchrect2,3,4 usw erstelle mit allen draw codes für die rechtecke?
  • Hallo acidrain833,
    meine Aussage mit dem "grausamen Code" war nur gutmütig gemeint.

    Die Aussage bezieht sich lediglich auf die Formatierung und Verkomplizierung deines Codes.

    (Anbei: Wieso hat bei dir das Zeichnen eines Rechtecks einen Rückgabewert (=box1)? In der Beschreibung steht: Returns: N/A /
    Wieso prüfst du mal "mouse_check_button_pressed" und einmal "mouse_check_button" im Allgemeinen? ,....)

    Wie möchtest du denn dein neues Rechteck erstellen?

    Bisher hast du mit der linken Maustaste ein "popup"-Rechteck an den aktuellen Mauskoordinaten erstellen lassen.
    Beim drauf klicken wird ein Konstrukt aus Rechtecken erstellt. Dieses Konstrukt sieht aus wie ein Fenster mit der Aufschrift "SWITCH" und in der linken Ecke "IN", sowie in der rechten Ecke "OUT".
    Wenn man jetzt einfach irgendwo in den Raum klickt wird wieder ein "popup" erstellt.
    Sobald man dein "IN-OUT-SWITCH"-Fenster mit der rechten Maustaste anklickt wird es grün eingerahmt.
    Ab diesem Moment kann man es, beim Linksklick auf das weiße Rechteck, frei verschieben.
    Hat man das Fenster nun verschoben fällt die grüne Umrandung weg und das Fenster hat eine neue Position.
    Nach diesem Akt, sobald keine Markierung mehr vorhanden ist, kann man wieder ein "popup"-Fenster erzeugen.

    Es gibt mehrere Möglichkeiten wie du viele Fenster(Rechtecke) erzeugen kannst.

    Mit welcher Maustaste und unter welchen Bedingungen soll den ein neues Fenster erstellt werden?

    Anbei: Ich helfe gerne.
  • @Weihnachtswichtel

    also: das mit der box1 = rechteck drawen das ist noch von ganz am anfang als ich noch dachte das ich damit die position steuern kann...das kannst du einfach vergessen...war nur blöd...
    das mit den mouse_check hab ich deshalb weil er zuerst die maus koordinaten abspeichert und dann erst die hold variable auf true setzt und die koordinaten neu setzt.

    aber der code ist nicht mehr os wie ich ihn jetzt habe.ja ich weiß ich hätte den code nochmal schön machen sollen bevor ich ihn hier reinstelle aber es war einfach zu spät und hatte keine lust mehr.

    also ja wenn ich irgendwo im raum klicke wird das popup erstellt und es werden mehrere rechtecke gezeichnet mit je einen text wie zb switch oder check oder script..und wenn man dann zb auf switch drückt wird

    wird ein grosses rechteck erstellt in dem noch 4 weitere rechtecke enthalten sind...(eines für die überschrift switch was jetzt auch für das selektieren ist,eines für in,eines für out,und ein grosses rechteck in dem man schreiben kann)
    wenn es dann mal ausgewählt ist und es grün umrandet ist kann man es ziehn im ganzen raum.sobald man dann das ziehn aufhört und loslässt fällt die umrandung weg und das rechteck bleibt dort wo die letzte position des ziehens war.dann wenn man wieder irgendwo im raum klickt öffnet sich wieder das popup mit den mehreren rechtecken wo man switch,script ,check usw auswählen kann.

    mein problem jetzt ist, er lässt mich kein neues erstellen also wenn ich irgendwo im raum geklickt habe und dann das popup kommt und ich dann auf switch klicke erstellt er kein switchrect mehr weil ja schon eines existiert.
    die einzige lösung was mir grad einfällt ist das ich mehrere switchrect kopien mache nur mit einer anderen zahl hinter switchrect...aber das wäre wirklich scheiße und ineffizient da ich die ganzen draw calls copieren müsste.
  • Ohne mir den Code angesehen zu haben, schätze ich, dass es nicht ineffizient wäre.
    Nur ziemlich unübersichtlich.

    Meistens kannst du die variablen in arrays umwandeln und um den Code eine For Schleife machen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe