[Résolu] Problème avec StartDrawing()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

[Résolu] Problème avec StartDrawing()

Message par gildev »

Je vais passer pour une quiche mais...

Code : Tout sélectionner

StartDrawing(ScreenOutput())
Ne fonctionne plus à présent? :(

Voici l'un des programmes que j'avais fait pour le 1er PurePunch et à l'époque ça marchait:

Code : Tout sélectionner

InitSprite():InitKeyboard():OpenScreen(640,480,32,"PB"):x=640:t$="PUREBASIC IS THE BEST PROGRAMING LANGUAGE IN THE WORLD!!!":LoadFont(1,"Arial",24):c.f=0.0174532925:xo=320:yo=260:Repeat:FlipBuffers():ClearScreen(RGB(0,0,0)):ExamineKeyboard()
StartDrawing(ScreenOutput()):For i=0 To 24:LineXY(0,i,639,i,RGB(0,120-i*5,0)):Next i:DrawingMode(#PB_2DDrawing_Transparent):DrawingFont(FontID(1)):DrawText(x,-6,t$,RGB(255,255,191)):DrawText(x-1,-5,t$,RGB(255,255,191))
DrawText(x+1,-5,t$,RGB(63,63,31)):DrawText(x,-4,t$,RGB(63,63,31)):DrawText(x,-5,t$,RGB(191,191,127)):a=0-TextWidth(t$):For i=0 To 63:LineXY(0,yo-i,639,yo-i,RGB(0,64-i,0)):LineXY(0,yo+i,639,yo+i,RGB(0,64-i,0)):Next i:For j=0 To 40
If j=40:FrontColor(RGB(255,63,0)):Else:FrontColor(RGB(j*5+10,0,0)):EndIf:Restore DS:x1=-30:y1=-100:For i=1 To 16:Read x2:Read y2:LineXY(xo+x1*Cos((b+j)*c.f),yo+y1*Sin((b+j)*c.f),xo+x2*Cos((b+j)*c.f),yo+y2*Sin((b+j)*c.f)):x1=x2:y1=y2:Next i
Next j:b=b+1:If b>=360:b=0:EndIf:StopDrawing():If x>a:x=x-2:Else:x=640:EndIf:For i=0 To 25:GrabSprite(i+1,0,i,640,1,#PB_Sprite_Memory):Next i:For i=0 To 25:DisplayTranslucentSprite(i+1,0,48-i,i*5):Next i:
Until KeyboardPushed(#PB_Key_Escape):End:DataSection:DS:Data.l 10,-140,150,-140,30,-20,90,-20,50,20,-10,20,-90,100,150,100,110,140,-150,140,-30,20,-90,20,-50,-20,10,-20,90,-100,-30,-100:EndDataSection
Par quoi faut-il le remplacer maintenant? :?:
Dernière modification par gildev le sam. 03/juil./2010 17:57, modifié 1 fois.
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Re: Problème avec StartDrawing()

Message par gildev »

En fouillant bien sur le forum j'ai trouvé qu'il fallait utiliser le subsystem directx 7. En effet ça a corrigé le problème, mais par contre ça rame à fond. Quelqu'un a mieux? Au passage je suis en Windows Seven en directx 9. :(
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Problème avec StartDrawing()

Message par TazNormand »

Salut

Ton code fonctionne très bien chez moi sous PB 4.50 finale, Vista Pro SP2 et subsystem par défaut DX9 (je n'ai rien indiqué dans option compilateur).
Image
Image
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Re: Problème avec StartDrawing()

Message par gildev »

J'ai désinstallé la version 4.41 pour mettre la 4.50 et c'est toujours pareil. Je n'ai pas de bol. :(
Je sens que je vais regretter mon Windows XP Pro...
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Problème avec StartDrawing()

Message par TazNormand »

tu peux donner un récap de ton système ?

moi c'est :
  • Core2Duo E8500 3.16Ghz@3.28Ghz
    Sapphire HD4850 512Mo
    Driver ATI 10.6
    Vista Pro SP2
    DirectX 11
    PureBasic 4.50 Finale
Image
Image
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Problème avec StartDrawing()

Message par djes »

Fonctionne aussi sur mon vieux XP SP3, NVidia 6600
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Problème avec StartDrawing()

Message par comtois »

Ton code plante sous seven home 64 bits.
Mais si je le corrige un peu , ça tourne parfaitement sans directx7.

Pas de problème d'affichage avec ScreenOutPut, le problème vient du fait que désormais il faut indiquer le type des données lues par Read, si tu ne précises rien c'est des integer, mais tu as défini tes datas avec des long, donc sur un système 32bits c'est transparent, mais sur mon système 64 bits ; Read lit des integer donc 8 octets à la place des long soit 4 octets.

Donc pense à préciser le type de données lues dans ton Read, et utilise le plus souvent possible les integer, les systèmes 64 bits t'en seront reconnaissant :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Re: Problème avec StartDrawing()

Message par gildev »

Ma config:

Core2Duo E4500 2.20Ghz@2.20Ghz
NVidia GeForce 9800GT
Driver NVidia 8.17.11.9621
Windows Seven edition familiale premium (en 32 bits)
DirectX 11
PureBasic 4.50 Finale

Je pense que ça vient de Windows Seven.

Curieusement ça ne rame plus et ça fonctionne, mais je dois toujours préciser DirectX 7 sinon l'erreur revient. C'est balo car ça veut dire que pour le PurePunch 2010 ceux qui ont un Seven devront penser à modifier les options de compilation sinon plantage.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Problème avec StartDrawing()

Message par djes »

J'espère que quelqu'un pourra confirmer... Sinon, on n'est pas obligé de faire une démo graphique, ou purement plein écran ou que sais-je.
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Re: Problème avec StartDrawing()

Message par SPH »

Fonctionne tres bien sur XP SP3 et sur Vista 32 !!!

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Problème avec StartDrawing()

Message par Ar-S »

En 4.50 x86 sous 7 x64 ça tourne
En 4.50 x64 sous 7 x64 sauf qu'a la place du logo PB rouge j'ai de sales traits aléatoires.
Je pense être en, DX9
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Re: Problème avec StartDrawing()

Message par gildev »

Bah je préciserai en note de compiler en DirectX 7. :wink:
Affaire classée. Merci à vous.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: [Résolu] Problème avec StartDrawing()

Message par Le Soldat Inconnu »

tourne nickel chez moi aussi en DX9
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre