voeux

Programmation d'applications complexes
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

voeux

Message par hardy »

ICI

(Première version)

Code : Tout sélectionner

ScreenW = GetSystemMetrics_(#SM_CXSCREEN)
ScreenH = GetSystemMetrics_(#SM_CYSCREEN)
ScreenD = 32
#Pi.f=3.1415926

texte.s="JOYEUSES"

n=8
ang.f=2*#Pi/n
r.f=1/(2*Sin(#Pi/n))

CatchImage(0,?Berlioz)
ResizeImage(0,256,256)
id=UseImage(0)
CreateImage(10,256*n,256)
StartDrawing(ImageOutput())
For i=0 To n-1
  DrawImage(id,256*i,0)
  FrontColor($FC,$3,$16)
  Locate(70+256*i,30)
  DrawingMode(1)
  LoadFont(0,"Times New Roman",130)
  DrawingFont(FontID())
  DrawText(Mid(texte,i+1,1))
Next i
StopDrawing()

CatchImage(1,?bianca)
ResizeImage(1,256,256)
id=UseImage(1)

texte=" FÊTES  "
CreateImage(20,256*n,256)
StartDrawing(ImageOutput())
For i=0 To n-1
  DrawImage(id,256*i,0)
  FrontColor($FC,$3,$16)
  Locate(70+256*i,30)
  DrawingMode(1)
  LoadFont(0,"Times New Roman",130)
  DrawingFont(FontID())
  DrawText(Mid(texte,i+1,1))
Next i
StopDrawing()

*vertices=AllocateMemory(4*n*12*12)
*v=*vertices
*triangles=AllocateMemory(4*n*4*6)
*t=*triangles
*texture=AllocateMemory(4*n*12*8)
*tex=*texture
For i=0 To n-1
  c.f=Cos(2*i*#Pi/n)
  s.f=Sin(-2*i*#Pi/n)
  cc.f=Cos(2*(i+1)*#Pi/n)
  ss.f=Sin(-2*(i+1)*#Pi/n)
   
  PokeF(*v,r*c):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*s):*v+4
  PokeF(*v,r*cc):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*ss):*v+4
  PokeF(*v,r*c):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*s):*v+4
  
  PokeF(*v,r*c):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*s):*v+4
  PokeF(*v,r*cc):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*ss):*v+4
  PokeF(*v,r*c):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*s):*v+4
  
  PokeF(*v,r*cc):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*ss):*v+4
  PokeF(*v,r*cc):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*ss):*v+4
  PokeF(*v,r*c):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*s):*v+4
  
  PokeF(*v,r*c):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*s):*v+4
  PokeF(*v,r*cc):*v+4:PokeF(*v,1):*v+4:PokeF(*v,r*ss):*v+4
  PokeF(*v,r*cc):*v+4:PokeF(*v,0):*v+4:PokeF(*v,r*ss):*v+4
  
  a.f=i/n
  b.f=(i+1)/n
  
;  a.f=0
;  b.f=1
  
  c.f=0
  d.f=1
  
  PokeF(*tex,a):*tex+4:PokeF(*tex,d):*tex+4
  PokeF(*tex,b):*tex+4:PokeF(*tex,d):*tex+4
  PokeF(*tex,a):*tex+4:PokeF(*tex,c):*tex+4
  
  PokeF(*tex,a):*tex+4:PokeF(*tex,c):*tex+4
  PokeF(*tex,b):*tex+4:PokeF(*tex,d):*tex+4
  PokeF(*tex,a):*tex+4:PokeF(*tex,d):*tex+4
  
  PokeF(*tex,b):*tex+4:PokeF(*tex,d):*tex+4
  PokeF(*tex,b):*tex+4:PokeF(*tex,c):*tex+4
  PokeF(*tex,a):*tex+4:PokeF(*tex,c):*tex+4
  
  PokeF(*tex,a):*tex+4:PokeF(*tex,c):*tex+4
  PokeF(*tex,b):*tex+4:PokeF(*tex,c):*tex+4
  PokeF(*tex,b):*tex+4:PokeF(*tex,d):*tex+4
Next i

For i=0 To 4*n*12-1
  PokeW(*t,i):*t+2
Next i
  
  

If InitEngine3D()=0 Or InitSprite() = 0 Or InitSprite3D() = 0 Or OpenScreen(ScreenW, ScreenH, ScreenD, "Test") = 0 Or InitKeyboard()=0:End:EndIf
CreateMesh(0)
SetMeshData(0,#PB_Mesh_Vertices,*vertices,12*n)
SetMeshData(0,#PB_Mesh_Triangles,*triangles,4*n)
SetMeshData(0,#PB_Mesh_UVCoordinates,*texture,12*n)
CreateMesh(1)
SetMeshData(1,#PB_Mesh_Vertices,*vertices,12*n)
SetMeshData(1,#PB_Mesh_Triangles,*triangles,4*n)
SetMeshData(1,#PB_Mesh_UVCoordinates,*texture,12*n)

CreateTexture(1,256*n,256)
StartDrawing(TextureOutput(1))
DrawImage(UseImage(20),0,0)
StopDrawing()
CreateTexture(0,256*n,256)
StartDrawing(TextureOutput(0))
DrawImage(UseImage(10),0,0)
StopDrawing()
CreateMaterial(0,TextureID(0))
CreateEntity(0,MeshID(0),MaterialID(0))
CreateMaterial(1,TextureID(1))
CreateEntity(1,MeshID(1),MaterialID(1))
CreateCamera(4, 0, 0, 100, 100)
CameraLocate(4, 0, 2, 8)
;RotateCamera(4,0,20,0)
EntityLocate(0,0,3,0)
EntityLocate(1,0,0,0)

Repeat
  ExamineKeyboard()
  ClearScreen(0,0,0)

  RotateEntity(1,-1,0,0)
  RotateEntity(0,1,0,0)
  
  RenderWorld()
  FlipBuffers()
  Delay(20)
Until KeyboardPushed(#PB_Key_Escape)
End

Berlioz:IncludeBinary "d:\berliozo1.bmp"
bianca:IncludeBinary "d:\bianca.bmp"




nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Il ne se passe rien!
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

heureusement que tu a mis l'exe car on a pas


; Berlioz:IncludeBinary "d:\berliozo1.bmp"
; bianca:IncludeBinary "d:\bianca.bmp"

:D

avec l'exe , aucun resultat !!! y spasse rien ! :?
Dernière modification par Backup le lun. 20/déc./2004 19:29, modifié 1 fois.
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

Et ça marche? (chez moi, pas de pb)
cookie
Messages : 71
Inscription : mar. 27/janv./2004 21:08
Contact :

Message par cookie »

sympa.
pour une meilleure lisibilité, ne vaudrait-il pas mieux que 'joyeuses' tourne à l'envers de ce qui est fait en ce moment?
Cookie
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Tout comme nico je n'ai rien chez moi :(
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

MOi aussi je n'ai rien, peut -être ca

Code : Tout sélectionner

If InitEngine3D()=0 Or InitSprite() = 0 Or InitSprite3D() = 0 Or OpenScreen(ScreenW, ScreenH, ScreenD, "Test") = 0 Or InitKeyboard()=0:End:EndIf 
mais lequel ?
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

Initengine3D() doit renvoier 0 si vs utilisez l'exe et que Engine3D.dll n'est pas dans \system32\ ou le dossier de l'exe... donc la solution : metre engine3D.dll ds le rep de l'exe ou mieu encor dans \system32\ comme ça plus de probleme :)
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

Viens de rentrer.
Cederavic a tout juste. J'avais oublié...
Mais ce n'est pour l'instant qu'une ébauche.
Je fais une carte de voeux électronique.
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

Bon, j'ai mis une version incluant la dll.
Evidemment, c'est plus volumineux....
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Chez moi le problème n'est pas là :wink:
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

Nouvelle version (même lien). L'inclusion de la dll n'allait pas.

@oliv : :?:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

maintenant ça marche ! :D
Répondre