Textbox mit hintergrund und text in einer funktion...!?
Übersicht

![]() |
ottaBetreff: Textbox mit hintergrund und text in einer funktion...!? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallöchen,
ich hab mir so nebenbei mal überlegt eine kleine Funktion die mir dann mein gewünschten Text sammt hintergrund Bildchen und kleinem extraBildchen anzeigt. Naja ich hab mir das ungefair so vorgestellt: [syntax="bb"] AppTitle "textfeld" Graphics3D 1024,768,32,2 Global hintergrund$ Global titel$ Global nachricht$ Global pic= LoadImage("bild$") Global hinter$=LOADIMAGE("hintergrund$") Function textfeld(titel$,hintergrund$,nachricht$) Text 50,155,titel$ DrawBlock hinter$,50,155 Text 140,140,nachricht$ End Function While Not KeyHit(1) ;### textfeld("test","bg1.png","testest") Flip Wend End [/syntax] ohne Bild funktioniert das auch so aber mit Bild kommt eine Memory violation. Naja ich vermute mal das ich was mit den variablen falsch gemacht hab aber weiß nciht genau was. WÄhre klasse wenn mir da Jemand auf die Sprünge helfen könnte. |
||
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))
Aktuelles Projekt: momentan Projektlos |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh also als erstes find ich es sinnlos einer Funktion variablen zu übergeben, welche Global sind...das sollte aber eigentlich nicht das porblem sein...denn das prob ist das du einen Graphics3D setzt und drawblock benutzt...du solltest Graphics benutzen um auf der 2D ebene zu arbeiten! | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
otta |
![]() Antworten mit Zitat ![]() |
---|---|---|
öhm naja das spiel ist 3d und diese textfelder sollen dann halt im vordergrund erscheinen und je nach bedarf acuh den hintergrund wechseln.
Oh und das DrawBlock hatte ich ganz vergessen wieder rückgängig zu machen das war nur zu testzwecken. |
||
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))
Aktuelles Projekt: momentan Projektlos |
![]() |
BlitzCheckerBetreff: Re: Textbox mit hintergrund und text in einer funktion...!? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Richtig hat Folgendes geschrieben: [syntax="bb"] AppTitle "textfeld" Graphics3D 1024,768,32,2 Global hintergrund$ Global titel$ Global nachricht$ ;Global pic= LoadImage(bild$) ;Auskommentiert, weil bild$ nicht vorhanden Global hinter Function textfeld(titel$,hintergrund$,nachricht$) hinter = LoadImage(hintergrund$) Text 50,155,titel$ DrawBlock hinter,50,155 Text 140,140,nachricht$ End Function While Not KeyHit(1) ;### textfeld("test","bg1.png","testest") Flip Wend End [/syntax] Müsste so gehn ![]() |
||
www.xairro.com |
![]() |
otta |
![]() Antworten mit Zitat ![]() |
---|---|---|
*hach* vielen dank , es klappt !
Also war der Fehler nur das das Bild in der Funtion geladen werden muss? |
||
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))
Aktuelles Projekt: momentan Projektlos |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Auweia, übernehme bloss dieses Beispiel vom BLITZchecker nicht für Dein Programm!
1) ist es nicht gut, ein Bild erst in der Funktion zu laden - zumindest nicht, wenn diese regelmässig oder sogar in einer Hauptschleife aufgerufen wird! 2) ist es noch viel schlechter, wenn dann das geladene Bild dort noch nicht einmal wieder freizugeben wird! ![]() Mach es am besten so: - lade Dein Hintergrundbild zu Beginn in eine Variable - übergebe dieses Bild + Nachricht an die Funktion Dein erster Ansatz ganz oben war eigentlich schon auf dem besten Wege . nur hast Du dort noch einige Fehler in die Umsetzung mit eingebaut. Ich versuche, Dir das auf die Schnelle mal auszubessern (kann's aber grad nicht testen / hoffe, ich baue keine Flüchtigkeitsfehler mit ein!): Code: [AUSKLAPPEN] Global hintergrund$ // <-- kann weg!
Global titel$ // <-- kann weg! Global nachricht$ // <-- kann weg! Global pic= LoadImage("bild$") // wird für das Bsp. nicht gebraucht? = kann weg! Global hinter$=LOADIMAGE("hintergrund$") // <-- Hier hast Du den falschen Variablentyp gewählt ($=string, muss %=integer sein!), zum zweiten hast Du da einen Fehler mit dem Dateinamen! Jetz das Ganze mal ausgebessert: Code: [AUSKLAPPEN] AppTitle "Textfeld"
Graphics3D 1024,768,32,2 Local hintergrund_bild = LOADIMAGE("dateiname.bmp") Function Textfeld(titel$, bild, nachricht$) Text 50, 155, titel$ DrawBlock bild, 50, 155 Text 140, 140, nachricht$ End Function While Not KeyHit(1) Cls Textfeld("test", hintergrund_bild, "testest") Flip Wend End So, hoffe es klappt! Lieben Gruss, Ava |
||
- Zuletzt bearbeitet von Ava am Di, Jan 17, 2006 15:00, insgesamt einmal bearbeitet
![]() |
BlitzChecker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tschuldigung, aber ich war gestern abend ganz schön in eile.
und wenns nur n farbiges rechteck is, kannst du auch den befehl color und rect benutzen. ich hoffe, jetzt krieg ich keinen ärger weil rect so langsam is ![]() ![]() |
||
www.xairro.com |
![]() |
otta |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ava,
erstmal vielen Dank für die Hilfe aber dein Beispiel funktioniert leider auch nicht. Aber Sinn dieser Funktion soll sein das ich wann immer ich will andere Hintergrundbilder Für den Text laden kann was mit deinem Beipsiel ,meiner Meinung nach, nicht möglich ist(achja ich denke mal du meinst statt LoKal eher Local, oder?): Code: [AUSKLAPPEN] Local hintergrund_bild = LOADIMAGE("dateiname.bmp")
So ,nehme ich jedenfalls an, kann man das Bil doch dann später eigendlcih nciht mehr ändern oder? Achja wegen den Variablen...ja wie gesagt da hab ichs noch nciht so ganz mit. Aber dennoch erstmal vielen Dank für deine Hilfe! EDIT: An Blitzchecker, neenee das soll auf jedenfall nBilchen sein, einfarbig siehts n bisschen fad aus ![]() |
||
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))
Aktuelles Projekt: momentan Projektlos |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Warum funktioniert es nicht ? - Das Du LoadImage("Dateiname.bmp") durch Dein gewünschtes Bild ersetzen musst, ist Dir klar, ja? ![]() [/edit] Ich hab grad mein altes Blitz3D mal rausgekramt und meinen Code-Schnippsel ausprobiert. Also bei mir läuft das! Und zu Deiner Frage:Zitat: So ,nehme ich jedenfalls an, kann man das Bil doch dann später eigendlcih nciht mehr ändern oder?
Ich weis nicht, wofür Du das benötigst, also das Austauschen Deines Nachrichten-Hintergrund-Bildes. Wenn Du verschiedene Nachrichten-Bilder willst, dann lade sie doch alle zu Beginn Deines Programmes:Code: [AUSKLAPPEN] Global Hintergrund_1 = LoadImage("Bild_1.bmp")
Global Hintergrund_2 = LoadImage("Bild_2.bmp") Global Hintergrund_3 = LoadImage("Bild_3.bmp") usw... Dann kannst Du doch den jeweils gewünschten Hintergrund für Deine Nachricht auswählen und an die Funktion weitergeben. + Ava + |
||
![]() |
otta |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja das ich das austauschen muss bzw mehrere Bilder laden muss ist mir schon klar ![]() So habs jetzt nochmal ausprobiert und hrr..ja jso klapts. Weiß nciht dann hab ich da wohl vorhin n bisschen was falsch kopiert oder dergleichen. So dann nochmal ein Danke für die Hilfe und Geduld ,eigendlich dürfte das Thema jetzt durch sein ![]() |
||
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))
Aktuelles Projekt: momentan Projektlos |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group