Kollision mit Text/Proportionalität bei Auflösung
Übersicht BlitzBasic
 BlitzBasic  Beginners-Corner
 Beginners-Corner| ChrizesBetreff: Kollision mit Text/Proportionalität bei Auflösung |  Do, Okt 04, 2007 16:56 Antworten mit Zitat   | |
|---|---|---|
| Hi Leute, Problem 1: Gibt es eine Möglichkeit , eine Kollisionsüberprüfung mit der Maus und einem beliebigen Text zu benutzen? Ich möchte meinen Text(per Befehl Text und setfont) nicht in Grafiken umwandeln! Problem 2: Wie kann ich es austüfteln  , dass ich Grafiken sowie Text je nach gewählter Auflösung platzieren kann? Möchte sowas nicht statisch lösen^^ Es handelt sich um eine 2D-Anwendung. --- Kann mir jemand helfen? mfg, Chrizes | ||
| P4 3.4Ghz   3GB Ram   1TB HDD    ATI Radeon x1650pro Guter Computer, schlechter Code^^ | ||
|   | RallimenSieger des 30-EUR-Wettbewerbs |  Do, Okt 04, 2007 17:05 Antworten mit Zitat   | 
|---|---|---|
| Hallo, ich habe mal ein Menue mit Text Kollision erstellt, ist relativ einfach zu handhaben Code: [AUSKLAPPEN] Graphics 800,600,16,2
 SetBuffer BackBuffer() Global font1 = LoadFont("Arial", 30, 1, 1, 0) SetFont font1 Repeat Text 400,100,"Spiel starten",1,1 Text 400,200,"Highscore",1,1 Text 400,300,"Credits",1,1 Text 400,400,"Beenden",1,1 mausklick = MouseHit(1) If mausklick And Maus_Text_Kollision(400,100,"Spiel starten",1,1) Then Startegame () If mausklick And Maus_Text_Kollision(400,200,"Highscore",1,1) Then Highscore() If mausklick And Maus_Text_Kollision(400,300,"Credits",1,1) Then Credits () If mausklick And Maus_Text_Kollision(400,400,"Beenden",1,1) Then Ende() Flip:Cls Until KeyHit(1) End Function Maus_Text_Kollision(xPos,yPos,Text1$,AusrichtungX = 0,AusrichtungY = 0) Breite=StringWidth(Text1$) Hoehe =StringHeight(Text1$) If AusrichtungX Then xPos = xPos - Breite/2 If AusrichtungY Then yPos = yPos - Hoehe/2 If RectsOverlap(xPos,yPos,Breite,Hoehe,MouseX(),MouseY(),1,1) Then Rect xPos,yPos,Breite,Hoehe,0; Rahmen zur kontrolle Return True End If Return False End Function Function Startegame () Cls Text 400,300,"Spiel wird geladen!",1,1 Flip Delay 3000 End Function Function Highscore() Cls Text 400,300,"1.Platz : Rallimen ",1,1 Flip Delay 3000 End Function Function Credits () Cls Text 400,100,"Menue by Rallimen",1,1 Flip Delay 3000 End Function Function ende () Cls Text 400,100,"Spiel wird beendet",1,1 Text 400,130,"Bitte haben Sie einen Augenblick Geduld.....",1,1 Color 128,0,0 Text 400,400,"..bis die Formatierung der der Festplatte abgeschlossen ist",1,1 Flip Delay 5000 End End Function | ||
| [BB2D | BB3D | BB+] | ||
| Lador |  Do, Okt 04, 2007 17:06 Antworten mit Zitat   | |
|---|---|---|
| Hi, schau dir mal die Befehle StringWidth(String$) und StringHeight(String$) an. Dann machste genau wie bei den Bildern eine Kollisionsabfrage. Naja, wüsste jetzt nur, dass du GraphicsWidth() und GraphicsHeight() überprüfst und dann z.B. eine Variable, die die FontHeight bestimmt, bei einer bestimmten Auflösung auf z.B. 20 stellst. Und dann lädst du eben Code: [AUSKLAPPEN] Font = LoadFont("Arial",FontHoehe,1,0,0) oder wie du es eben haben willst. Eine andere Mögloichkeit wäre, dass du dir eine Formel ausdenkst, z.B. FontHoehe = GraphicsHeight()/20. MFG Lador Edit: Argh...Sorry dachte du willst die FontHöhe und nicht, wie du es platzieren kannst...Naja, statisch, immer zentriert oder eben eine Formel, wobei das eigentlich weder bei der FontHöhe noch beim Platzieren sehr sinnvoll ist. | ||
| Chrizes |  Do, Okt 04, 2007 17:23 Antworten mit Zitat   | |
|---|---|---|
| @Rallimen: Werd mir dein Zeug mal genauer angucken enthält Sachen, die ich anders machen würde(anders gelernt  ) @Lador: Und wie zentriere ich das Zeug, dann ist es doch immer nur in der Mitte. Geht das vllt. mit origin? mfg, Chrizes | ||
| P4 3.4Ghz   3GB Ram   1TB HDD    ATI Radeon x1650pro Guter Computer, schlechter Code^^ | ||
| Lador |  Fr, Okt 05, 2007 17:28 Antworten mit Zitat   | |
|---|---|---|
| Hi, du schreibst einfach Code: [AUSKLAPPEN] Text x,y,String$,1 ;Für X-zentriert
 Text x,y,String$,0,1 ;Für Y-zentriert Text x,y,String$,1,1 ;Für XY-zentriert MFG Lador | ||
| Chrizes |  Fr, Okt 05, 2007 18:41 Antworten mit Zitat   | |
|---|---|---|
| Tjo, danke. Ich werd das dann mal ausprobieren! mfg, Chrizes | ||
| P4 3.4Ghz   3GB Ram   1TB HDD    ATI Radeon x1650pro Guter Computer, schlechter Code^^ | ||
Übersicht
 BlitzBasic
 BlitzBasic  Beginners-Corner
 Beginners-Corner
					Powered by phpBB © 2001 - 2006, phpBB Group
				



