website aufrufen und fenster minimieren // fontplus

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
diGGa
Beiträge: 249
Registriert: 01.04.2005 11:00
Kontaktdaten:

website aufrufen und fenster minimieren // fontplus

Beitrag von diGGa »

ho
ich will über mein programm ne website aufrufen. so wenn man auf das coyright klickt. funzt auch wunderbar. das problem ist nur, da das programm mit ner initmouse im fenster läuft wird die mausbewegung aufs fenster beschränkt. auch wenn ich dann im browser bin. (fenster nichtmehr sichtbar aber beschränkung der maus da) und dadurch wird das bewegen auf der website natürlich erschwert ;)

also frage: wie kann ich während ich auf der website bin diese beschränkung wegbekommen? (programm soll weiterlaufen)

oder besser: wie kann ich diese begrenzung ganz wegmachen(es gibt an den rändern keine abfragen sondern nur im bild... also geht das ja) aber trotzdem weiter mit initmouse und konsorten arbeiten.

danke schonmal :)

Code: Alles auswählen

;{/ ----- Initialisieren -----
InitSprite()
InitKeyboard()
InitMouse()

Window = OpenWindow(#PB_Any, 10, 10, 600, 400, #PB_Window_BorderLess|#PB_Window_ScreenCentered, "MindHunter v0.1")
OpenWindowedScreen(WindowID(),0,0,600,400, 1,0,0)
MouseLocate(WindowWidth()/2,WindowHeight()/2)
;} ----- Initialisieren -----

;{/ ----- Prozeduren -----
Procedure MouseOver(var_x.w, var_y.w, var_w.w, var_h.w)
       mx = MouseX()
       my = MouseY()
       If mx => var_x And mx <= var_x+var_w And my => var_y And my <= var_y+var_h
              ProcedureReturn 1
       Else
              ProcedureReturn 0
       EndIf
EndProcedure

Procedure CloseButton()
       If MouseOver(555, 5, 35, 30)
              DisplaySprite(2, 555, 5)
              If MouseButton(1) 
                     Delay(500)
                     End
              EndIf
       EndIf       
EndProcedure

Procedure NewGameButton()
       If MouseOver(460, 248, 130, 30)
              DisplaySprite(3, 460, 248)
              If MouseButton(1) 
                     ;
              EndIf
       EndIf       
EndProcedure

Procedure OptionsButton()
       If MouseOver(460, 288, 130, 30)
              DisplaySprite(4, 460, 288)
              If MouseButton(1) 
                     ;
              EndIf
       EndIf       
EndProcedure

Procedure HelpButton()
       If MouseOver(460, 328, 130, 30)
              DisplaySprite(5, 460, 328)
              If MouseButton(1) 
                     ;
              EndIf
       EndIf       
EndProcedure

Procedure CopyButton()
       If MouseOver(460, 370, 130, 15)
              DisplaySprite(6, 460, 370)
              If MouseButton(1) 
                     RunProgram("http://www.jaapgr.com")
              EndIf
       EndIf       
EndProcedure
;} ----- Prozeduren Ende -----


;{/ ----- Mediendaten Laden -----
UsePNGImageDecoder()
LoadSprite(0,"background.png")
LoadSprite(1,"cursor.png") : TransparentSpriteColor(1,255,0,255)
LoadSprite(2,"closebutton.png")
LoadSprite(3,"newgamebutton.png")
LoadSprite(4,"optionsbutton.png")
LoadSprite(5,"helpbutton.png")
LoadSprite(6,"copybutton.png")


;} ----- Mediendaten Laden Ende -----

;{/ ----- Hauptschleife -----
Repeat
       ClearScreen(0,0,0)   
       ExamineKeyboard()
       ExamineMouse()
       
       Select WindowEvent() 
              Case #PB_Event_CloseWindow 
       Break 
              Case 0 
       EndSelect 

       DisplaySprite(0,0,0) ;background

       CloseButton()
       NewGameButton()
       OptionsButton()
       HelpButton()
       CopyButton()

       DisplayTransparentSprite(1,MouseX(),MouseY()) ; mouse
       
	FlipBuffers()
Until KeyboardReleased(1)
End
;} ----- Hauptschleife Ende -----




////////


dan zeigt mit japbe noch etwas an das sich fontplus nennt.. "addfont" ist der befehl. nur leider gibt der compiler immer zurück das es kein array linked list ist... also befehl nich gefunden quasi... was tun? muss ich das vorher initialisieren oder sowas?
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: website aufrufen und fenster minimieren // fontplus

Beitrag von Danilo »

diGGa hat geschrieben:also frage: wie kann ich während ich auf der website bin diese
beschränkung wegbekommen? (programm soll weiterlaufen)

oder besser: wie kann ich diese begrenzung ganz wegmachen
(es gibt an den rändern keine abfragen sondern nur im bild...
also geht das ja) aber trotzdem weiter mit initmouse und
konsorten arbeiten.
Den Mauszeiger kannst Du bei Screens mit ReleaseMouse()
wieder freigeben.

Wenn Du in einem WindowedScreen einen eigenen Mauszeiger
benutzt, mußt Du das eigentlich sowieso benutzen.
Wenn IsScreenActive() false ist, mußt Du die Maus freigeben.
Sobald es wieder true ist, wird die Maus wieder an den Screen
gefesselt.
Das muß eigentlich schon rein weil der User mit ALT+TAB etc.
vom Screen wegswitchen kann - und dann soll er die Maus
wieder normal benutzen können, bis der Screen wieder aktiv
wird.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
diGGa
Beiträge: 249
Registriert: 01.04.2005 11:00
Kontaktdaten:

Beitrag von diGGa »

eigentlich sollte es ja gehen aber da das game im fenster ist funzt das scheinbar nicht.. ich muss doch einfach

Code: Alles auswählen

	FlipBuffers()
       If IsScreenActive() = 0
              ReleaseMouse(1)
       EndIf
machen? weil wenn ich mit alt-tab oder per website aufruf rausgehe bleibt die begrenzung trotzdem erhalten... das fenster bekommt ja keine informationen mehr sobald man rausfliegt hm...
Antworten