Code : Tout sélectionner
If Not(InitEngine3D())
End
EndIf
InitSprite()
InitSprite3D()
InitKeyboard()
InitMouse()
InitSound()
UsePNGImageDecoder()
OpenScreen(1024,768,32,"Yom",#PB_Screen_WaitSynchronization)
Global vcon=0
Global creplan=0
Global mycam=0
Enumeration
#camera
EndEnumeration
CreateCamera(#camera,10,5,80,50)
CameraProjectionMode(#camera,#PB_Camera_Perspective)
CameraRange(#camera,5,1500)
CameraBackColor(#camera,RGB(255,255,152))
CameraFOV(#camera,45)
Dim glups(6,2)
glups(1,1)=LoadSprite(#PB_Any,"spr\glups01.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
glups(2,1)=LoadSprite(#PB_Any,"spr\glups02.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
glups(3,1)=LoadSprite(#PB_Any,"spr\glups03.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
glups(4,1)=LoadSprite(#PB_Any,"spr\glups04.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
glups(5,1)=LoadSprite(#PB_Any,"spr\glups05.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
glups(6,1)=LoadSprite(#PB_Any,"spr\glups06.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
For i=1 To 6
If glups(i,1)=0
End
EndIf
Next
glups(1,2)=CreateSprite3D(#PB_Any,glups(1,1))
glups(2,2)=CreateSprite3D(#PB_Any,glups(2,1))
glups(3,2)=CreateSprite3D(#PB_Any,glups(3,1))
glups(4,2)=CreateSprite3D(#PB_Any,glups(4,1))
glups(5,2)=CreateSprite3D(#PB_Any,glups(5,1))
glups(6,2)=CreateSprite3D(#PB_Any,glups(6,1))
nglups=1
Dim scn(3,2)
scn(1,1)=LoadSprite(#PB_Any,"scn\ecran_controle.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
scn(2,1)=LoadSprite(#PB_Any,"scn\ecran_visuel.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
scn(3,1)=LoadSprite(#PB_Any,"scn\carte.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
For i=1 To 3
If scn(i,1)=0
End
EndIf
Next
scn(1,2)=CreateSprite3D(#PB_Any,scn(1,1))
scn(2,2)=CreateSprite3D(#PB_Any,scn(2,1))
scn(3,2)=CreateSprite3D(#PB_Any,scn(3,1))
fond=LoadSprite(#PB_Any,"scn\vaisseau.png",0)
Dim spor(4,2,3)
spor(1,1,1)=LoadSprite(#PB_Any,"spr\spor0_1.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
spor(2,1,1)=LoadSprite(#PB_Any,"spr\spor0_2.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
spor(3,1,1)=LoadSprite(#PB_Any,"spr\spor0_3.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
spor(4,1,1)=LoadSprite(#PB_Any,"spr\spor0_4.png",#PB_Sprite_AlphaBlending | #PB_Sprite_Texture)
For i=1 To 4
If spor(i,1,1)=0
End
EndIf
Next
spor(1,2,1)=CreateSprite3D(#PB_Any,spor(1,1,1))
spor(2,2,1)=CreateSprite3D(#PB_Any,spor(2,1,1))
spor(3,2,1)=CreateSprite3D(#PB_Any,spor(3,1,1))
spor(4,2,1)=CreateSprite3D(#PB_Any,spor(4,1,1))
spor(1,2,2)=CreateSprite3D(#PB_Any,spor(1,1,1))
spor(2,2,2)=CreateSprite3D(#PB_Any,spor(2,1,1))
spor(3,2,2)=CreateSprite3D(#PB_Any,spor(3,1,1))
spor(4,2,2)=CreateSprite3D(#PB_Any,spor(4,1,1))
spor(1,2,3)=CreateSprite3D(#PB_Any,spor(1,1,1))
spor(2,2,3)=CreateSprite3D(#PB_Any,spor(2,1,1))
spor(3,2,3)=CreateSprite3D(#PB_Any,spor(3,1,1))
spor(4,2,3)=CreateSprite3D(#PB_Any,spor(4,1,1))
For i=1 To 4
ZoomSprite3D(spor(i,2,2),191,111)
ZoomSprite3D(spor(i,2,3),123,74)
Next
Dim lume(8)
For i=1 To 4
lume(i)=i
Next
For i=5 To 7
lume(i)=8-i
Next
Dim sporon(4)
Dim sporx(4)
Dim spory(4)
sporx(0)=425
spory(0)=512
sporx(1)=714
spory(1)=624
sporx(2)=119
spory(2)=624
sporx(3)=306
spory(3)=474
sporx(4)=592
spory(4)=474
Dim actspor(4,4)
actspor(0,0)=1
actspor(0,1)=432
actspor(0,2)=520
actspor(0,3)=432+159
actspor(0,4)=520+84
actspor(1,0)=2
actspor(1,1)=730
actspor(1,2)=631
actspor(1,3)=730+160
actspor(1,4)=631+90
actspor(2,0)=2
actspor(2,1)=138
actspor(2,2)=631
actspor(2,3)=138+160
actspor(2,4)=631+90
actspor(3,0)=3
actspor(3,1)=316
actspor(3,2)=480
actspor(3,3)=316+102
actspor(3,4)=480+59
actspor(4,0)=3
actspor(4,1)=602
actspor(4,2)=480
actspor(4,3)=602+102
actspor(4,4)=480+59
activescn=1
incre=0
Dim k(20)
MouseLocate(512,384)
LoadModule(0,"mod\ambience1.s3m")
ModuleVolume(0,30)
PlayModule(0)
Dim snd(3)
snd(1)=LoadSound(#PB_Any,"snd\spor_contact.wav")
snd(2)=LoadSound(#PB_Any,"snd\viewer_sound.wav")
snd(3)=LoadSound(#PB_Any,"snd\map_sound.wav")
Dim fadesnd(3)
;Add3DArchive("tex\",#PB_3DArchive_FileSystem)
;Add3DArchive("mesh\",#PB_3DArchive_FileSystem)
;Parse3DScripts()
Dim tex(8)
Dim mat(8)
For i=1 To 8
;tex(i)=LoadTexture(#PB_Any,Str(i)+".jpg")
;mat(i)=CreateMaterial(#PB_Any,TextureID(tex(i)))
;MaterialShadingMode(mat(i),#PB_Material_Gouraud)
;MaterialFilteringMode(mat(i),#PB_Material_Trilinear)
Next
Dim mesh(3)
For i=1 To 3
;mesh(i)=LoadMesh(#PB_Any,Str(i)+".x")
Next
Dim conics(800,400,3) ; 1=objet conics à visiter, 2=texture, 3=Identité habitant
For y=1 To 400
For x=1 To 800
If Random(20)=0
conics(x,y,1)=Random(2)+1
conics(x,y,2)=Random(7)+1
; ajouter ici l'ajout d'habitants
EndIf
Next
Next
; A REMPLACER ================
xcon=Random(799)+1
ycon=Random(399)+1
conics(xcon,ycon,1)=Random(2)+1
conics(xcon,ycon,2)=Random(7)+1
;=============================
Repeat
For i=1 To 2
If fadesnd(i)>0
fadesnd(i)=fadesnd(i)-25
SoundVolume(snd(i),fadesnd(i))
EndIf
Next
DisplaySprite(fond,0,0)
ExamineKeyboard()
ExamineMouse()
mx=MouseX()
my=MouseY()
mleft=MouseButton(#PB_MouseButton_Left)
mright=MouseButton(#PB_MouseButton_Right)
xact=MouseX()-100
yact=MouseY()+40
flag=0
For i=0 To 4
If sporon(i)>0
flag=1
EndIf
Next
If flag=0 And mleft=1
For i=0 To 4
If flag=0 And xact>=actspor(i,1) And xact<=actspor(i,3) And yact>=actspor(i,2) And yact<=actspor(i,4)
flag=1
sporon(i)=1
SoundVolume(snd(1),255)
PlaySound(snd(1))
If activescn=2 And i=0
fadesnd(2)=250
EndIf
If activescn=3 And i=0
fadesnd(3)=250
EndIf
EndIf
Next
EndIf
For i=2 To 20
k(i)=(k(i)+1)%i
Next
Start3D()
Sprite3DQuality(#PB_Sprite3D_BilinearFiltering)
DisplaySprite3D(scn(1,2),-124,91)
If activescn=2
If incre<200
incre=incre+10
Else
If creplan=0
creplan=1
EndIf
EndIf
DisplaySprite3D(scn(2,2),0,0,incre)
EndIf
If activescn=3
If incre<400
incre=incre+20
EndIf
ZoomSprite3D(scn(3,2),800,incre)
DisplaySprite3D(scn(3,2),((1024-820)/2),0)
EndIf
For i=0 To 4
If sporon(i)>0
DisplaySprite3D(spor(lume(sporon(i)),2,actspor(i,0)),sporx(i),spory(i))
If k(2)=0
sporon(i)=sporon(i)+1
If lume(sporon(i))=0
sporon(i)=0
If i=0
activescn=activescn+1
incre=0
If activescn=2
SoundVolume(snd(2),255)
PlaySound(snd(2),#PB_Sound_Loop)
EndIf
If activescn=3
If creplan=2
If IsEntity(vcon)
FreeEntity(vcon)
EndIf
vcon=0
creplan=0
EndIf
StopSound(snd(2))
fadesnd(2)=0
SoundVolume(snd(3),255)
PlaySound(snd(3),#PB_Sound_Loop)
EndIf
If activescn=4
StopSound(snd(3))
fadesnd(3)=0
activescn=1
EndIf
EndIf
EndIf
EndIf
EndIf
Next
DisplaySprite3D(glups(nglups,2),mx-(SpriteWidth(glups(nglups,1))/2),my,220)
Stop3D()
If k(5)=0
nglups=nglups+1
If nglups=7
nglups=1
EndIf
EndIf
If activescn=2
If creplan=1
vcon=0
If conics(xcon,ycon,1)>0
;vcon=CreateEntity(#PB_Any,MeshID(mesh(1)),#PB_Material_None,0,0,0)
;EntityLocate(vcon,0,0,0)
EndIf
creplan=2
EndIf
If creplan=2
;RotateEntity(vcon,0.15,0.27,0.34,#PB_Relative)
CameraLocate(#camera,0,0,200)
CameraLookAt(#camera,0,0,0)
RenderWorld()
EndIf
EndIf
FlipBuffers()
Delay(30)
Until KeyboardPushed(#PB_Key_Escape)
End