Map und Tiles Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: Map und Tiles Problem

BeitragFr, Dez 10, 2004 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ja ich bin auch wieder da.

Hab folgendes Problem:

Code: [AUSKLAPPEN]
If ImagesOverlap(mouse,mx,my,fenster3, 150 ,512 ) Or ImagesOverlap(mouse,mx,my,fenster1,0 ,512 ) Or ImagesOverlap(mouse,mx,my,fenster2,100,512)  Or (mx - sk) > kartexmax Or (mx - sk) < 0 Or (my - sk2) < 0 Or (my - sk2) > karteymax Then
      nopaint = 1 ; Es kann in einem bestimmten Gebiet nicht mehr gezeichnet werden
   Else
      nopaint = 0 ; macht das obere Rückgängig
   EndIf


mx = mousex
sk = scrollkarte
kartexmax = größe der Map Achse X Max
karteymax = größe der Map Achse Y Max

folgendes Problem. Es klappt ja wunderbar wenn die Maus den Bereich verlässt das man kein Tile mehr setzen kann. Wenn man aber auf der Maustaste draufbleibt und schnell über den Rand hin und zurück geht scheinen außerhalb der Map die Tiles. wie bekomm ich das weg.

sollte ich die abfrage gleich nach der variablenzuordnung von Mousex und Mousey machen?

Schonmal danke für die Antworten.

Chester

Betreff: Re: Map und Tiles Problem

BeitragFr, Dez 10, 2004 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
WEBLink hat Folgendes geschrieben:

sollte ich die abfrage gleich nach der variablenzuordnung von Mousex und Mousey machen?


Wichtigstes Gesetzt:Ausprobieren
 

hot-bit

Gast

BeitragFr, Dez 10, 2004 19:37
Antworten mit Zitat
Hoi.

Mann, du enttäuscht mich !

Hast in den 2 Jahren, in denen du das Game schreibst, überhaupt nichts dazu gelernt ?

Jetzt sehe ich mich nur darin bestärkt, daß ich den Jungen nicht mehr helfe.

Toni

WEBLink

BeitragFr, Dez 10, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
In dem Game arbeite ich grad mal 3 Monate und hatte jetzt. eine 3 Monate Pause eingelegt.

Artemis

BeitragFr, Dez 10, 2004 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Also an deiner Stelle würde ich zuerst die vielen "or"s weglassen und daraus "If"s machen.
Ich bin ein programm am schreiben mit richtungen, und da habe ich mal 4 "or"s genommen und das hat bb total verwirrt, auf jeden fall hat das nicht so geklappt wie das hätte klappen sollen.
danach habe ich das mit 4 "if"s ausprobiert und siehe da es hat funktioniert!!
also aus
Code: [AUSKLAPPEN]

If ImagesOverlap(mouse,mx,my,fenster3, 150 ,512 ) Or ImagesOverlap(mouse,mx,my,fenster1,0 ,512 ) Or ImagesOverlap(mouse,mx,my,fenster2,100,512)  Or (mx - sk) > kartexmax Or (mx - sk) < 0 Or (my - sk2) < 0 Or (my - sk2) > karteymax Then
      nopaint = 1 ; Es kann in einem bestimmten Gebiet nicht mehr gezeichnet werden
   Else
      nopaint = 0 ; macht das obere Rückgängig
   EndIf


mach
Code: [AUSKLAPPEN]

If ImagesOverlap(mouse,mx,my,fenster3, 150 ,512 ) Then
If ImagesOverlap(mouse,mx,my,fenster1,0 ,512 ) Then
If ImagesOverlap(mouse,mx,my,fenster2,100,512) Then   
If (mx - sk) > kartexmax Then
If (mx - sk) < 0 Then
If (my - sk2) < 0 Then   
If (my - sk2) > karteymax Then
   nopaint = 1
Else
   nopaint = 0
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf

allerdings würde ich das in bb der übersicht halber einrücken![/syntax]
 

noir

BeitragSo, Dez 12, 2004 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
einfach immer () klammern setzen, schadet ja nicht, dann lässst sich blitzbasic auch nicht "verwirren". und der code wird für dich auch lesbarer

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Dez 14, 2004 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm, ich glaube, du hast uns den falschen Teil des Codes gegeben, hier ist so wie ich das sehe kein Fehler.

Also eine Möglichkeit, das zu unterbinden wäre vielleicht MouseHit().

Und wenn du da kein Bock drauf hast, überprüf mal, wo dein Code eigesetzt wird, der muss ja jede Runde ausgeführt werden.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

WEBLink

BeitragMi, Dez 15, 2004 1:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap das Problem liegt nicht daran. Muss noch ein paar andere abfrgane rein das sich durch verschieden eigenschaften des Editor als schwierig erweist. Naja, dennoch thx

DivineDominion

BeitragSa, Dez 18, 2004 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
BB seit Jahren im Besitz aber wirklich kein Stück dazugelernt? Smile Du benutzt ja noch immer Imagesoverlap... Herrje Smile Mach Koordinatenabfragen, die sind schnell und zuverlässig und wenn du nicht genau am Rand einen Pixel eines anderen Tiles hast, wird da auch nix verändert. Und schmeiss temporäre lokale Variablen rein in die Funktionen - die du wahrscheinlich noch immer nicht benutzt... - um die Stadien zwischenzuspeichern und den code LESEN zu können.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group