Page 1 sur 1

voeux

Publié : lun. 20/déc./2004 19:16
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"





Publié : lun. 20/déc./2004 19:22
par nico
Il ne se passe rien!

Publié : lun. 20/déc./2004 19:23
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 ! :?

Publié : lun. 20/déc./2004 19:24
par hardy
Et ça marche? (chez moi, pas de pb)

Publié : lun. 20/déc./2004 19:28
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?

Publié : lun. 20/déc./2004 19:32
par Oliv
Tout comme nico je n'ai rien chez moi :(

Publié : lun. 20/déc./2004 19:42
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 ?

Publié : mar. 21/déc./2004 0:52
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 :)

Publié : mar. 21/déc./2004 7:50
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.

Publié : mar. 21/déc./2004 8:22
par hardy
Bon, j'ai mis une version incluant la dll.
Evidemment, c'est plus volumineux....

Publié : mar. 21/déc./2004 10:02
par Oliv
Chez moi le problème n'est pas là :wink:

Publié : mar. 21/déc./2004 11:10
par hardy
Nouvelle version (même lien). L'inclusion de la dll n'allait pas.

@oliv : :?:

Publié : mar. 21/déc./2004 11:22
par Backup
maintenant ça marche ! :D