Maus auf text klicken?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen

 

Nox

BeitragDo, Jun 02, 2005 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ui, das ist in der Tat verdammt übel. Smile Hätte ich es getestet, wäre mir wohl die peinliche Anschuldigung erspart geblieben. Embarassed Smile

Aber gut, dass du es getestet hast. Rückt meiner Meinung nach den Compiler von Blitz etwas ins *hust* "schlechte" Licht, da er anscheinend wenig bis keine Optimierungen besitzt, oder liege ich wieder falsch? (nichts getestet/recherchiert Wink )

Alfadur

BeitragDo, Jun 02, 2005 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
anfangs dachte ich auch immer der compiler bricht bei der ersten fehlgeschlagenen bedingung ab, bis ich dann ständig fehler bei zb ...

if Player<>null and Player\energy<>0 then ...

bekam.

denn selbst wenn player=null ist, dann prüft er immernoch player\energy und da kackt er dann ab ...

deswegen ...

if Player<>null then
if Player\energy<>0 then ...
end if

dafür gibts ja in in java und c && und & bzw || und |, da kann man das selber steuern ...
A Cray is the only computer that runs an endless loop in less than four hours.

BladeRunner

Moderator

BeitragDo, Jun 02, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
sehr ärgerlich das.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

regaa

BeitragDo, Jun 02, 2005 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzMax soll da angeblich anders sein, also schon dann abbrechen wenn die erste Bedingung nicht mehr stimmt. Stand in irgendnem Thread in irgendnem Post von irgendnem Mark Sibly,
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Jun 02, 2005 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie heißt es noch
Problem erkannt... Problem gebannt

Ich dachte ja auch erst das sofort abgebrochen wird!

aufgefallen ist mir das bei einem Speedtest ...
da es nicht schneller wurde!
[BB2D | BB3D | BB+]
 

Kado

BeitragDo, Jun 02, 2005 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
könnt ihr mir bei meinem prob helfen? seite 2 Wink
 

Nox

BeitragDo, Jun 02, 2005 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@Kado:
Sorry, wenn ich dich nochmal eben ignoriere... Wink

Alfadur hat Folgendes geschrieben:
dafür gibts ja in in java und c && und & bzw || und |, da kann man das selber steuern ...


Wenn du meinst, dass man das Abbruchverhalten mit &/&& und |/|| steuern kann, ist es falsch. & und | sind bitweise Operatoren, && und || hingegen logische. 101b & 011b würde z.B. 001b ergeben, 000b && 110b hingegen 0/false.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jun 03, 2005 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
also Kado, zu deinem Problem

1. deine Function PointOverMiddledText ist nur für Text ausgelegt der
mittig gesetzt wird!
Text "blabla",1,1
wenn due den text aber so..
Text "blabla"
setzt functioniert die Routine nicht mehr richtig da das Anklickfeld verschoben ist!
werde da meine mal einbauen!

2. Setzte von Anfang an alles in Functionen, das erleichtert alles!

So jetzt bau ich mal den Code so um das das funktioniert.....

BlitzBasic: [AUSKLAPPEN]
Graphics 800 ,600,32,2
SetBuffer (BackBuffer () )
Global Mausklick
Repeat
Text 400 ,100,\"LOL\",1,1
Text 400 ,200,\"LOLOLO\",1,1
Text 400 ,300,\"AD\",1,1
Mausklick = MouseHit (1)

If Mausklick And Maus_Text_Kollision (400 ,100,\"LOL\",1,1) Then menu ()
If Mausklick And Maus_Text_Kollision (400 ,200,\"LOLOLO\",1,1) Then
Text 0 ,0,\"LOLOLO Klicked\"
Flip
Delay 1000
End If
If Mausklick And Maus_Text_Kollision (400 ,300,\"AD\",1,1) Then
Text 0 ,0,\"AD Klicked\"
Flip
Delay 1000
End If

Flip
Cls
Until KeyHit (1)
End

Function menu ()
Repeat
Mausklick = MouseHit (1)
Cls
;aktion-------------Eis----------
Text 0 ,0, \"Zutaten Kaufen\"
Text 0 ,15, \"Eis herstellen\"
Text 0 ,30, \"Eis verkaufen\"
Text 0 ,45, \"Eis essen\"
Text 0 ,75, \"Preis ändern\"
;aktion--------Nahrungsmittel----
Text 0 ,90, \"Nahrungsmittel kaufen\"
Text 0 ,105, \"Nahrungsmittel essen\"
Text 0 ,130, \"Nahrungsmittel verkaufen\"
;aktion --------Wohnung-------
Text 0 ,145, \"Zur Wohnung gehen\"
Text 0 ,160, \"Zurück\"
If Mausklick And Maus_Text_Kollision (0 ,0,\"Zutaten Kaufen\") Then ZutatenKaufen ()
If Mausklick And Maus_Text_Kollision (0 ,160,\"Zurück\") Then Return
Flip
Until KeyHit (1)
End Function

;funktion----------eis----------

Function ZutatenKaufen ()
Repeat
Mausklick = MouseHit (1)
Cls
Text 0 ,0, \"Zutat\"
Text 0 ,15, \"Zurück\"
If Mausklick And Maus_Text_Kollision (0 ,15,\"Zurück\") Then Return

Flip
Until KeyHit (1)
End Function

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 1
End If
Return 0
End Function


jetzt schau dir aber den Code auch richig an und gehe mal zeile für Zeile durch warum das so funktioniert!
Und da ich noch Zeit hatte, habe ich das gleich mal schön Formatiert!
[BB2D | BB3D | BB+]
 

Kado

BeitragFr, Jun 03, 2005 7:15
Antworten mit Zitat
Benutzer-Profile anzeigen
eine frage warum macht ihhr statt mousehit(1) , mausklick? hat das einen bonderen grund oder einfach ihr seit zu faul um maousehit(1) zu schreiben? o.O"

kuhl , jetzt funtzt es , thx ^^

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jun 03, 2005 8:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Es hat einen besonderen Grund,
denn wenn eine Schleife beginnt und ich mousehit aufrufe ist der Puffer leer!
Beim zweiten Aufruf von Mousehit bekomme ich dann keinen Hit!

Bei kurzen Programmen kein Problem, aber bei langen zum teil schon!
[BB2D | BB3D | BB+]

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group