Problem mit Scrolling
Übersicht BlitzBasic
 BlitzBasic  Allgemein
 Allgemein| girglBetreff: Problem mit Scrolling |  Mo, Jan 12, 2004 14:51 Antworten mit Zitat   | |
|---|---|---|
| servus,ich will in mein editor scrolling einbaun,aber das geht net. so sieht erstmal die Funktion aus Code: [AUSKLAPPEN] Function Scrolling()
 If KeyDown(203) Then scrollx=scrollx-4 If scrollx<0 Then scrollx=0 If KeyDown(205) Then scrollx=scrollx+4 If scrollx>(mapb-1)*16 scrollx=(mapb-1)*16 If KeyDown(200) scrolly=scrolly-4 If scrolly<0 Then scrolly=0 If KeyDown(208) Then scrolly=scrolly+4 If scrolly>(maph-1)*16 Then scrolly=(maph-1)*16 End Function so und beim zeichnen muss man ja angeblich einfach nur die scrollwerte abziehn,wenn ich aber n bischen scroll sind die tiles ganz woanders. Code: [AUSKLAPPEN] for i=0 to maph-1 for j=0 to mapb-1 drawimage Tset,j*16-scrollx,i*16-scrolly,map(j,i) next next | ||
| Nukleus |  Mo, Jan 12, 2004 15:22 Antworten mit Zitat   | |
|---|---|---|
| :oops: zwischen scrollx> ... und scrollx= fehlt Then aber daran allein kanns wohl nicht liegen | ||
| girgl |  Mo, Jan 12, 2004 15:28 Antworten mit Zitat   | |
|---|---|---|
| dne das is egal wie mans schreibt | ||
| girgl |  Mo, Jan 12, 2004 19:06 Antworten mit Zitat   | |
|---|---|---|
| kann mir keiner sagen wie ich sowas mach?   | ||
|   | Slayer |  Mo, Jan 12, 2004 19:45 Antworten mit Zitat   | 
|---|---|---|
| Vieleicht hilft Dir das hier weiter. Code: [AUSKLAPPEN] Graphics 640,480,16,1 SetBuffer BackBuffer() ;------------------------------ Global xpos = 0,ypos = 0 Global links = 203,rechts = 205,oben = 200, unten = 208 Global tilex = 32,tiley = 32 Global count = 0 ;------------------------------ While Not KeyHit(1) If KeyDown(links) xpos = xpos - 1 If xpos < 0 Then xpos = 0 EndIf If KeyDown(rechts) xpos = xpos + 1 If xpos > (640 - tilex * 10) Then xpos = (640 - tilex * 10) EndIf If KeyDown(oben) ypos = ypos - 1 If ypos < 0 Then ypos = 0 EndIf If KeyDown(unten) ypos = ypos + 1 If ypos > (480 - tiley * 10) Then ypos = (480 - tiley * 10) EndIf ;------------------------------ For y = 0 To 9 For x = 0 To 9 Rect xpos + (x * tilex ),ypos + (y * tiley),tilex,tiley,0 Text xpos + (x * tilex ),ypos + (y * tiley),count count = count +1 Next Next count = 0 ;------------------------------ Flip:Cls Wend:End | ||
| AMD2500XP, SB5.1, DX9, 512MB DDR333, XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version | ||
| girgl |  Di, Jan 13, 2004 14:24 Antworten mit Zitat   | |
|---|---|---|
| ich weiss net,was ich falsch mach,aber das klappt immer noc hnich.Kann nic hjemand einfach nen codebeispiel bringen,wie ers immer macht? | ||
|   | Slayer |  Di, Jan 13, 2004 18:30 Antworten mit Zitat   | 
|---|---|---|
|       Der Code/Beispiel Oben hat Dir nicht geholfen ?? | ||
| AMD2500XP, SB5.1, DX9, 512MB DDR333, XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version | ||
| girgl |  Di, Jan 13, 2004 21:58 Antworten mit Zitat   | |
|---|---|---|
| ich habs so gemacht,wies in dem beispiel auch is,aber irgendwie hauts net hin,war mir eigentlich alles einleuchtend,was da drin stand...aber trotzdem gings net | ||
| denial |  Mi, Jan 14, 2004 18:13 Antworten mit Zitat   | |
|---|---|---|
| Du erledigst das Scrollen einer Funktion.... hast du vielleicht zufällig die Variablen scrollx, scrolly nicht global gemacht?   Außerdem ist die Abfrage, ob die X/Y-Scroll-Koordinaten zu hoch sind, ziemlich unelegant gelöst. | ||
| girgl |  Mi, Jan 14, 2004 18:15 Antworten mit Zitat   | |
|---|---|---|
| ja,sin global.Wie würdest dus denn machen? | ||
| denial |  Mi, Jan 14, 2004 18:18 Antworten mit Zitat   | |
|---|---|---|
| Nicht hochzählen und dann gucken obs zu hoch war (erst schiessen, dann fragen, um einen Vergleich zu bringen), sondern erst prüfen obs zu hoch war, und gegebenfals umstellen. Würd ich jedenfals vorziehen. | ||
| girgl |  Mi, Jan 14, 2004 20:02 Antworten mit Zitat   | |
|---|---|---|
| aber deswegen werden doch net die tiles gleich bei minimalem scrolling falsch gezeichnet.Das muss doch wo anders liegen.In jedem Tutorial das ich gesehn hab,musste man einfach beim zeichnen die scrollwerte abziehen.Hab ich gemacht,aber immer wieder der gleiche fehler ?! | ||
| denial |  Mi, Jan 14, 2004 20:27 Antworten mit Zitat   | |
|---|---|---|
| Ich benutze fürs Scrollen immer den Befehl Origin.... Du drückst dich aber auch etwas unpräzise aus. Bisher hast du nur geschrieben "dass es nicht geht". Was genau aber nicht geht, sagst du nicht. Kann er überhaupt nicht scrollen? Oder läuft es nur in eine Richtung? Oder was genau ist denn das Problem? | ||
| girgl |  Mi, Jan 14, 2004 20:58 Antworten mit Zitat   | |
|---|---|---|
| ich denke schon,das ich mein problem geschildert hab.Scrollen tut er schon,nur wenn ich ein bischen scrolle und ein tile zeichnen möchte,ist das tile halt immer an der falschen stelle. Aber mal zu origin,wie geht das mit dem befehl? | ||
| denial |  Mi, Jan 14, 2004 21:29 Antworten mit Zitat   | |
|---|---|---|
| Origin x,y Bestimmt den Ursprungspunkt aller Grafiken.. Als X/Y Parameter könntest du ScrollX und ScrollY einsetzen, also deine Variablen. | ||
|   | Hubsi |  Do, Jan 15, 2004 12:36 Antworten mit Zitat   | 
|---|---|---|
| Wobei Origin nur für kleine Karten zu empfehlen ist. Sonst gehts an die Performance. | ||
| Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... | ||
| wiglef |  Do, Jan 15, 2004 19:36 Antworten mit Zitat   | |
|---|---|---|
| also,.... 1. Ich weiß ja nicht wie groß dein Teil ist, aber vielleicht ist +/- 4 einfach zu viel? | ||
Übersicht
 BlitzBasic
 BlitzBasic  Allgemein
 Allgemein
					Powered by phpBB © 2001 - 2006, phpBB Group
				



