GUI macht Faxen ~erledigt~^^

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

PowerProgrammer

Betreff: GUI macht Faxen ~erledigt~^^

BeitragSo, Mai 28, 2006 11:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi allerseits,

ich progge gerade ne GUI! Das ist ganz schön Zeitraubend Confused ! Bis jetzt klappt auch schon alles super! Ich brauche aber eine kleine Hilfe bei der Anzeige der Objekte:

Ich möchte, das alle Objekte nur in dem bestimmten Anzeigebereich des Parentobjekts zu sehen sind, und nicht überstehen! Das geht zwar mit Bildern seeeeeehr einfach, aber gibt es eine Möglichkeit, das zu umgehen? Oder sind Bilder der einzige Weg?
Ich benötige keinen Speedfresser, die Methode soll schnell sein...


Mfg PowerProgrammer

P.S. Bitte keine Beiträge, wie "Das schaffste eh nie!!!" oder "Kannste gleich vergessen!!!", da ich doch schon relativ weit bin... Thx
  • Zuletzt bearbeitet von PowerProgrammer am So, Mai 28, 2006 12:38, insgesamt einmal bearbeitet

5k41

BeitragSo, Mai 28, 2006 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso nicht einfach sowas:
Code: [AUSKLAPPEN]

if object\x+object\width<parent\x+parent\area then drawobject(object)

oder so ähnlich? Ich programmiere selbst grad an einer GUI und bei mir würde das so funktionieren, wobei ich da keinen wert drauf legen, da der User ja selbst die objekte plaziert und wenn er sie falsch platziert... nicht mein problem Wink

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

PowerProgrammer

BeitragSo, Mai 28, 2006 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein! Der soll doch einfache den überstehenden Teil abschneiden! Aber geht das ohne Images?

Artemis

BeitragSo, Mai 28, 2006 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Setze einfach einen Viewport auf die Clientgröße/koordinaten des Parent-Gadgets.
ql:viewport

PowerProgrammer

BeitragSo, Mai 28, 2006 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Eientlich ne gute Idee, das geht dann aber doch nur mit einem Parent, oder?
Oder muss ich vor jedem Objekt den ViewPort dann neu setzten? Ich hab den Befehl (fast) nie genutzt...

Artemis

BeitragSo, Mai 28, 2006 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, du musst für jedes Parent-Gadget den Viewport einmal für alle Child-Gadgets neu setzen.

PowerProgrammer

BeitragSo, Mai 28, 2006 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank, Artemis!!!!!

Aber ist der Befehl auch schnell?

Artemis

BeitragSo, Mai 28, 2006 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, eigentlich schon:Code: [AUSKLAPPEN]
SeedRnd 1234567890

Graphics 800, 600, 32, 2

SetBuffer(BackBuffer())

Local Anzahl% = 1000000
Local Zaehler%

Local StartZeit% = MilliSecs()

For Zaehler% = 1 To Anzahl%
   
   Local X% = Rand(0, 800)
   Local Y% = Rand(0, 600)
   Local W% = Rand(0, 800-X%)
   Local H% = Rand(0, 600-Y%)
   
   Viewport(X%, Y%, W%, H%)
   
Next

Local EndZeit% = MilliSecs()

Viewport(0, 0, 800, 600)
Text 10, 10, Anzahl%+"malige Benutzung von Viewport benötigte "+(EndZeit%-StartZeit%)+" Millisekunden"

Flip

WaitKey
End

PowerProgrammer

BeitragSo, Mai 28, 2006 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, klappt jetzt endgültig!!!!! Nochmal thx! Bin doch ein bisschen blöd, das ich nicht drauf gekommen bin!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group