BPS #13: Drag & Drop - Auswertung
Übersicht

![]() |
XeresModeratorBetreff: BPS #13: Drag & Drop - Auswertung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Drag & Drop Funktion macht die Steuerung für viele Nutzer einfacher und/oder bequemer - wer konnte sie umsetzen?
Das war die Aufgabe Postet hier eure Ergebnisse, Codes, Gedanken. Lernt von den anderen, seht euch deren Quelltext an und versucht euren eigenen zu verbessern. Diskussion Postet zu euren Codes stets eine kurze Erklärung mit euren Gedanken in denen ihr simpel gesagt die Frage "Wieso habe ich XY auf diese Art gelöst?" beantwortet. Beiträge, die nur den Code enthalten werden wir aus dem Thread entfernen. Nächste Aufgabe In zwei Wochen, wird die Musterlösung nach editiert und die nächste Aufgabe eingestellt. Viel Spaß & viel Erfolg! Musterlösung: BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
- Zuletzt bearbeitet von Xeres am So, Okt 30, 2011 15:20, insgesamt 2-mal bearbeitet
![]() |
BlitzMoritz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Steuer' hier auch 'mal wieder 'was bei ... und zwar schön knapp und kurz in 17 Zeilen ohne viel Service.
"Action" speichert die Aktivität der linken Maustaste, "Position" die Stelle des "Anfassens" und "R" die Rechteckkoordinaten. Die simple Operation ( ... + 20) / 40 * 40 sorgt wegen Integer für das Einrasten. Der Rest erklärt sich direkt aus dem Code - wüsste nich', was sonst noch viel zu sagen wäre ... BlitzMax: [AUSKLAPPEN] Graphics 800,600 |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Lösung erinnert vielleicht etwas an einen Desktop. Ich habe etwas mehr integriert, als es die eigentliche Aufgabenstellung verlangt hätte (Namensgebung für Elemente, Löschen/Hinzufügen von Elementen).
BlitzMax: [AUSKLAPPEN] SuperStrict Ich habe einen TIcon-Type, der ein Icon speichert (Name, Position), globale Informationen (das Icon auf dem gerade eine Aktion ausgeführt wird [asource], Die Nummer der Aktion [action], die Liste, [creation] für das Hinzufügen von Icons) und Konstanten (BOX_X und BOX_Y - Größe eines Elements). Wie die Bewegung/Umbenennung von Icons gehandhabt wird, kann man in der Methode "update()" ablesen. Schnell noch zur Benützung: Position ändern - Linke Maustaste + Drag & Drop Umbenennen - Rechte Maustaste + Klick Element hinzufügen - Linke Maustaste auf einer nicht belegten Position gedrückt halten Element entfernen - Linke Maustaste + Drag & Drop + in/unterhalb der roten Markierung loslassen Edit: Nach Holzchopfs Vorschlägen bearbeitet und ergänzt. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
- Zuletzt bearbeitet von Thunder am Mo, Okt 17, 2011 21:34, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMoritz: Sehr gut! Ich denke, bei so wenig und überschaubarem Code kommt man auch mal ohne Kommentare und mit der zusätzlichen Beschreibung zurecht. Mag für den einen oder anderen vielleicht sogar lehrreich sein, alle 17 Zeilen des Codes mal zu analysieren und wäre eine gute Übung.
Thunder: Oha, sehr sehr ausführlich :O Das ist natürlich schön, wen eine Aufgabe so eifrig gelöst wird! Wird den einen oder anderen bestimmt zu etwas inspirieren ![]() ![]() Allerdings kann man ein Objekt bei dir packen, wenn man vor dem drüberfahren schon die Maustaste drückt und dann erst den Cursor aufs Objekt bewegt. Die Vorgehensweise ist zwar (Dank der zusätzlichen Beschreibung) ersichtlich, aber gerade für den Wert der Variable action würde ich für bessere Überschaubarkeit mit Konstanten Arbeiten ![]() ![]() mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Vorschläge, habe mich gleich daran gemacht Kommentare zu verfassen ![]() Die Sache mit dem Drüberfahren, wenn die Maustaste bereits gedrückt war, habe ich übrigens gelöst ![]() |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group