Reprise transforme sprite 3D de DOBRO par Micoute

Programmation d'applications complexes
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Reprise transforme sprite 3D de DOBRO par Micoute

Message par Micoute »

Bonjour à tous,
histoire de reprendre un très vieux code

Code : Tout sélectionner

; auteur DOBRO  http://michel.dobro.free.fr/ repris par MICOUTE
LoadFont(1, "arial", 50 )
LoadFont(2, "arial", 50 )
Resultat = InitSprite()
Global Angle,amplitude
amplitude=25
Texte.s="Pure Basic 4.10 !"

;{ rajouté par Micoute
Global pref$, NomFichier$ = "C:\Users\"+UserName()+"\AppData\Roaming\PureBasic\PureBasic.prefs"
If OpenPreferences(Nomfichier$) <> 0 
	If ExaminePreferenceGroups()
		While NextPreferenceGroup() 
			Groupe$ = PreferenceGroupName() 
			;Debug "nom du groupe : "+Groupe$ 
			PreferenceGroup(Groupe$) 
			If Groupe$ = "Global"
			  pref$=ReadPreferenceString("version", "") 
				Break
			EndIf
		Wend
	EndIf 
	ClosePreferences()
Texte.s = "PureBasic " + pref$ + "!"
EndIf
;}
WindowID = OpenWindow(1, 50, 50, 640, 200,  "hello", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget )
OpenWindowedScreen(WindowID, 0, 0, 640, 200, 1, 0, 0)
CreateImage(100, 640, 100)
StartDrawing( ImageOutput(100))
FrontColor(RGB($0,$FF,$FF))
BackColor(RGB(0, 0, 0))
DrawingFont(FontID(1))
DrawingMode(1)
DrawText(0,0,Texte.s) 
StopDrawing()

For t=0 To 100
    GrabImage(100, t, 0, t, 640,1) 
Next t 
Repeat 
    For y= 0 To 100
        StartDrawing(ScreenOutput())  
        Angle+1 :If Angle=360*100: Angle=0 :EndIf 
        x=1+(1*Cos(Angle*2*3.1415926/100)*amplitude)+40
        x1=1+(1*Sin(Angle*2*3.1415926/100)*amplitude*5)+40
        DrawImage( ImageID(y), x+40, x1+y,640,1) 
        StopDrawing()
        dep+1 :If dep>640 :dep=-100:EndIf 
    Next y  
    FlipBuffers() 
    ClearScreen(RGB(0, 0, 0))
    Event=WindowEvent()
    Delay(1) 
Until Event=#PB_Event_CloseWindow
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Backup »

tu n'as pas posté dans la bonne section

ici c'est "application" , pour indiquer qu'on a faire un prg complet

ce code va mieux dans "trucs et astuces" ;)
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Micoute »

Bonjour Dobro, je suis sincèrement désolé !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Backup »

t'as pas a etre désolé , tu t'es trompé de Lieu , c'est pas la mort :)
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Ar-S »

Salut Micoute,
tu peux remplacer

Code : Tout sélectionner

;{ rajouté par Micoute 
	Global pref$, NomFichier$ = "C:\Users\"+UserName()+"\AppData\Roaming\PureBasic\PureBasic.prefs" 
	If OpenPreferences(Nomfichier$) <> 0  
	If ExaminePreferenceGroups() 
	While NextPreferenceGroup()  
	Groupe$ = PreferenceGroupName()  
	;Debug "nom du groupe : "+Groupe$  
	PreferenceGroup(Groupe$)  
	If Groupe$ = "Global" 
	pref$=ReadPreferenceString("version", "")  
	Break 
	EndIf 
	Wend 
	EndIf  
	ClosePreferences() 
	Texte.s = "PureBasic " + pref$ + "!" 
	EndIf 
Par

Code : Tout sélectionner

Texte.s = "PureBasic v"+ Str(#PB_Compiler_Version)

Ensuite même si ton code aurait fonctionné sur certaines machines, il aurait piné sur un Windows non installé dans C:

Pour éviter ces soucis, je t'invite à utiliser les Variables d'environnement.

Code : Tout sélectionner

ExamineEnvironmentVariables()
Global Version$, NomFichier$ = GetEnvironmentVariable("AppData") + "\PureBasic\PureBasic.prefs"
Texte.s = "Purebasic v"

	If OpenPreferences(Nomfichier$) <> 0 
			PreferenceGroup("Global") 
			Version$=ReadPreferenceString("Version", "") 
			Texte.s + Version$
	Else
			Debug "erreur lecture"
	EndIf 
	ClosePreferences()	

;test 
Debug "Texte : " + Texte.s
Voilou
~~~~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
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Micoute »

Bonsoir Ar-s et merci beaucoup pour le tuyau, c'est tellement simple que je n'y ai même pensé, j'en suis venu à me demander si mon cerveau fonctionne encore et en plus, il y a longtemps que j'ai arrêté d'évoluer ! :roll:
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Ar-S »

Tu sais du code à rallonge pour rien, on y est tous passé. (et c'est pas terminé).
tant que ton prog fonctionne c'est l'essentiel. Le plus important c'est d'éviter les erreurs comme ton "C:" d'office. ça marchera dans 95% des cas mais le jour ou ça coince tu risques de t'arracher les cheveux avant de percuter que l'OS de ton client est sur E: :mrgreen:
~~~~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
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Reprise transforme sprite 3D de DOBRO par Micoute

Message par Micoute »

Bonjour Ar-s et merci beaucoup pour tes encouragements, mais tu n'as pas tord, car on a trop l'habitude de penser que tout le fait comme nous et c'est vrai que le "C:", je l'ai mis par automatisme !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre