voeux
Publié : lun. 20/déc./2004 19:16
ICI
(Première version)
(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"