Curser

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2, 3  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

 

joni8a

Betreff: Curser

BeitragMo, Nov 13, 2006 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich habe mir ein programm mit einem eigenen curser geschreiben aber der alte geht nicht weg. Kann ich den alten vielleicht bei einer collisions abfrage benutzen oder muss ich da einen eigenen haben und den so zu recht rücken das er uf den alten passt
 

joni8a

BeitragMo, Nov 13, 2006 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es gelöst nu habe ich aber ein anderes problem: Ich will von einem bild zu einem anderen schalten, aber dies geht nicht, muss ich erst das alte löschen, wenn ja wie mache ich es

sirokuhl

BeitragMo, Nov 13, 2006 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hidepointer ist hier dein freund Wink
 

bruce85

BeitragMo, Nov 13, 2006 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
mit Funktionen kannste das machen Wink

edit: oder du verwendest eine Variable z.B. Bild

Code: [AUSKLAPPEN]
If Bild = 1 Then
  DrawImage Bild1,x,y
EndIf

If Bild = 2 Then
  DrawImage Bild2,x,y
EndIf


Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
  • Zuletzt bearbeitet von bruce85 am Mo, Nov 13, 2006 18:16, insgesamt einmal bearbeitet
 

joni8a

BeitragMo, Nov 13, 2006 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, und wie kann ich das bild das was ich davor gemalt habe löschen, nur aus neugirde
 

bruce85

BeitragMo, Nov 13, 2006 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
mit FreeImage
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

joni8a

BeitragMo, Nov 13, 2006 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, das klappt ja alles, nur wenn ich auf das objekt drücke soll er das bild löschen aber dann sagt er mir das es das bild nicht gibt.
Code: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()
Global t=LoadImage("tür.bmp")
Global pf=LoadImage("linksp.bmp")
Global l=LoadImage("links.bmp")
Global m=LoadImage("point.bmp")
MaskImage pf,255,0,255
Repeat
Cls
DrawImage t,0,0
DrawImage pf,20,15
If ImagesCollide(pf,20,15,0,m,MouseX(),MouseY(),0) And MouseHit(1) Then FreeImage t
Flip
Until KeyHit(1)

Hagbard

BeitragMo, Nov 13, 2006 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst ja auch in der Schleife das Bild nicht löschen.
Bzw. wenn du es in der Schleife löscht, dann "wundert" sich der Compiler (oder?), dass es nicht da ist und gibt eine Fehlermeldung zurück, weil er nicht mehr damit arbeiten kann.

Stattdessen zeichnest du das jeweilige Bild, wenn es gerade dran ist.
Also durch eine If-Abfrage...
 

bruce85

BeitragMo, Nov 13, 2006 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hagbard hat recht,
wenn du das Bild mit FreeImage löscht und in der Schleife wird ja das bild wieder gezeichnet dann kann das ja nicht mehr gezeichnet werden weil das Bild vom Speicher wieder gelöscht wurde Wink

edit: so müsste es gehn:

Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()

HidePointer
Global t=LoadImage("tür.bmp")
Global pf=LoadImage("linksp.bmp")
Global l=LoadImage("links.bmp")
Global m=LoadImage("point.bmp")
MaskImage pf,255,0,255
Global Bild=1

Repeat
Cls

If Bild = 1 Then
  DrawImage t,0,0
EndIf
DrawImage pf,20,15
If ImagesCollide(m,MouseX(),MouseY(),0,pf,20,15,0) Then
  If MouseHit(1) Then
    FreeImage t
    Bild = 0
  EndIf
EndIf

DrawImage m,MouseX(),MouseY()

Flip
Until KeyHit(1)
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
  • Zuletzt bearbeitet von bruce85 am Mo, Nov 13, 2006 18:32, insgesamt einmal bearbeitet
 

joni8a

BeitragMo, Nov 13, 2006 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool danke habe es hinbekommen

Justus

BeitragMo, Nov 13, 2006 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Bild löschen in dem Sinne gibt es nicht. Du zeichnest es einfach nicht mehr ein. FreeImage löscht ein Bild aus dem Arbeitsspeicher!

EDIT: Ihr seid ja verdammt schnell.
 

joni8a

BeitragMo, Nov 13, 2006 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe noch mal eine frage gibt es einen befeh womit mann den bildschriem unterteilen kann beispiel ein teil des schirmes für eine menüleiste. Wenn ja wie kann man ihn gebrauchen. danke

Hagbard

BeitragMo, Nov 13, 2006 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es bisher immer so gehandhabt, dass ich mir eine GUI und das drumherum selbst programmiert habe.
Ansonsten bietet BB+ einige Befehle in die Richtung.
 

joni8a

BeitragMo, Nov 13, 2006 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
So ich habe nun ein befehl gefunden(viewport) aber er malt kein bild warum?
Code: [AUSKLAPPEN]

Graphics 640,480
Global  menue=LoadImage("menüleiste.bmp")
Global  batterie=LoadImage("batterrien.bmp")
Global  karte=LoadImage("schulkarte.bmp")
Global  pfeill=LoadImage("pfeillinks.bmp")
Global  pfeilr=LoadImage("rechtspfeil.bmp")
MaskImage menue,255,0,255
SetBuffer BackBuffer()
Viewport 100,100,200,200
DrawImage menue,0,100

pixelshooter

BeitragMo, Nov 13, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Viewport???
Mach das Wiewport weg und schreib nach dem drawimage ein "Flip" (Oder benutzte von Anfang an den Frontbuffer())
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc

sirokuhl

BeitragMo, Nov 13, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
der befehl viewport ist dafür nicht geeignet
es gibt auch keinen befehl um den bildschirm "aufzuteilen"
du kannst ganz einfach deine menüleiste dahin zeichnen wo du sie brauchst
dazu musst du bei drawimage nur die richtigen koordinaten verwenden und die leiste am besten ganz am schluss zeichnen damit sie immer zu sehen ist.
 

joni8a

BeitragMo, Nov 13, 2006 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe doch noch mal ne frage wie kann ich die normale maus benutzen die vom pc bereit gestellt wird?

BladeRunner

Moderator

BeitragMo, Nov 13, 2006 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
In Anwendungen im Fenstermodus ist sie (wie du ja schon gemerkt hast standardmäßig da. Im Vollbild geht das so allerdings nicht. Du kannst nur die Mauszeiger mit einem geeigneten Programm öffnen, als imagedatei speichern und dann in BB laden. Sämtliche Funktionalität (wechseln zur Sanduhr etc.) musst Du allerdings selbst implementieren.
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
 

timmeTheOnly

BeitragDi, Nov 14, 2006 7:23
Antworten mit Zitat
Benutzer-Profile anzeigen
HMMM. Ich habs in Vollbild immer mit ShowPointer() hinbekommen...

BladeRunner

Moderator

BeitragDi, Nov 14, 2006 12:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es ihm rein um den normalen Zeiger geht schon. Nur fehlen halt sämtliche Animationen.
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

Gehe zu Seite 1, 2, 3  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group