CreateCamera() Et OpenWindowedScreen()

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

CreateCamera() Et OpenWindowedScreen()

Message par comtois »

Les dimensions sont exprimées en pourcentage de la taille de l'écran , je trouve ça très pratique .
Mais lorque je fais une fenêtre et que j'ouvre un écran dans la fenêtre , ne serait-il pas possible que les dimensions de la caméra correspondent à cet écran ?

Si je fais une fenêtre de 1000x700
J'ouvre un écran de 640x480 dans la fenêtre
ça serait bien que CreateCamera(#Camera,0,0,100,100) prenne 100% de l'écran dans la fenêtre .

A moins que quelqu'un ait une solution simple pour pallier à ce problème ?

Pour l'instant je fais comme ça

Code : Tout sélectionner

ScreenWidth = GetSystemMetrics_(#SM_CXSCREEN) 
ScreenHeight = GetSystemMetrics_(#SM_CYSCREEN) 
OpenWindow(#WPrincipale,0,0,1000,700,#PB_Window_SystemMenu,"Test ") 
OpenWindowedScreen( WindowID(#WPrincipale),165, 10,640,480, 0, 0, 0 )

PourcentX=640*100/ScreenWidth
PourcentY=480*100/ScreenHeight
CreateCamera(#Camera, 0, 0, PourcentX, PourcentY) 
Et selon la résolution de l'écran , la caméra ne remplit pas l'ensemble de l'écran dans ma fenêtre.
Dernière modification par comtois le ven. 28/mai/2004 7:36, modifié 1 fois.
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

essay avec ça :

Code : Tout sélectionner

ScreenWidth = GetSystemMetrics_(#SM_CXSCREEN) 
ScreenHeight = GetSystemMetrics_(#SM_CYSCREEN) 
OpenWindow(0,0,0,1000,700,#PB_Window_SystemMenu,"Test ") 
OpenWindowedScreen( WindowID(0),165, 10,640,480, 0, 0, 0 ) 

PourcentX=screenwidth*100/640
PourcentY=screenheight*100/320
CreateCamera(0, -165, -10, PourcentX, PourcentY) 
j'ai pas le temp la, je vais en cours (dernier jour :) )
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

cederavic a écrit : je vais en cours (dernier jour :) )
Veinard :P

Bien que ton code me semblait étrange ,je viens de l'essayer , et snif , ça ne fonctionne pas .

L'idée valait la peine d'être essayée ,merci à toi , et bonnes vacances :)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Youpi :!:
Après quelques tests supplémentaires, voici le résultat :
ScreenWidth = GetSystemMetrics_(#SM_CXSCREEN)
ScreenHeight = GetSystemMetrics_(#SM_CYSCREEN)
OpenWindow(#WPrincipale,0,0,1000,700,#PB_Window_SystemMenu,"Test ")
OpenWindowedScreen( WindowID(#WPrincipale),165, 10,640,480, 0, 0, 0 )

PourcentX.f=640*100/1000
PourcentY.f=480*100/700
CreateCamera(#Camera, 0, 0, PourcentX, PourcentY)
Dans le cas d'une fenêtre c'est la taille de la fenêtre qu'il faut prendre en compte , et non la taille de l'écran .Et là ça fonctionne :P

ça pourrait être utile de l'ajouter dans l'aide .
Répondre