(Attention Mal de Mer assuré )
Code : Tout sélectionner
macro M :macro:endmacro :M St:StartDrawing:Endmacro:
M TS:TransparentSpriteColor:Endmacro:M Sd:StopDrawing:EndMacro:
M DTS:DisplayTransparentSprite:Endmacro:M CS:CreateSprite:Endmacro:
M VS:val(StringField:Endmacro:M AA:amplitude:Endmacro
Enumeration:#Fenetre_principale:#sprite_fond;;;;;
#sprite_milieu:#sprite_devant:EndEnumeration;;;;;;;;;;;;;;;;;;;;;;;;;;
Declare.s F_(amplitude,x,y,angle):Declare CM(Adr$);;
Define.l EV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global StyleFen.i=#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered;
If Not (InitSprite() And InitSound() And InitKeyboard()):End:EndIf;;;;
Adr.s="http://multor.free.fr/Modules/VERSENIE.XM";;;;;;;;;;;;;;;;;;;;;
mus=CM(Adr.s):PlayMusic(Mus);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OpenWindow(#Fenetre_principale,0,0,800,600,"Rotatif scroll",StyleFen);
If OpenWindowedScreen(WindowID(#Fenetre_principale),0,0,800,600,1,0,0)
CS(#sprite_fond,900,900);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
St(SpriteOutput(#sprite_fond)):For x=1 to 900-1 Step 10;;;;;
box(x,1,10,900,RGB(random(80,10),random(80,10),random(80,10))):Next x;
SD():CS(#sprite_milieu,900,900,;;;;;;;;;;;;;;;;;;;;
#PB_Sprite_AlphaBlending):St(SpriteOutput(#sprite_milieu));;
For x=1 to 900-1 Step 100:box(x,1,50,900,rgb(0,random(255,50),0));;;;;
Next x:SD():CS(#sprite_devant,900,900,;;;;;;;;;;;;;
#PB_Sprite_AlphaBlending):St(SpriteOutput(#sprite_devant));;
For i=1 to 500:Circle(Random(900-40),Random(900-40),10,Rgb(random(255,
50),random(255,50),random(255,50))):Next i:SD():Repeat:Repeat
EVent=WaitWindowEvent(2):Select EVent:Case #PB_Event_CloseWindow:End;;
EndSelect:Until EVent=0:retour.s=F_(50,-50,-100,anglef);;;;;;;;;
xf=VS(retour.s,1,"|")):yf=VS(retour.s,2,;;;;
"|")):anglef=anglef+2:DTS(#sprite_fond,xf,yf);;;;
retour.s=F_(100,-50,-100,anglem):xm=VS(retour.s,1,;
"|")):ym=VS(retour.s,2,"|")):anglem=anglem-3;;;;;;;;;;;;;
TS(#sprite_milieu,$0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DTS(#sprite_milieu,xm,ym,200);;;;;;;;;;;;;;;;;;;;
retour.s=F_(30,-50,-100,angled):xd=VS(retour.s,1,;;
"|")):yd=VS(retour.s,2,"|")):angled=angled+4;;;;;;;;;;;;;
TS(#sprite_devant,$0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DTS(#sprite_devant,xd,yd,150):FlipBuffers();;;;;;
ClearScreen($0):ForEver:Else:Debug "plante !!":End:EndIf;;;;;;;;;;;;;;
Procedure.s F_(AA,x,y,angle):xf=x+;;;;;;;;;;;;;;;;;;;;;;;
Cos(Radian(Angle))*AA:yf=y+Sin(Radian(Angle))*AA;;;;;;;;
ProcedureReturn str(xf)+"|"+str(yf):EndProcedure;;;;;;;;;;;;;;;;;;;;;;
Procedure CM(Adr$):InitNetwork():Protected Music;;;;;;;;;;
*Buffer=ReceiveHTTPMemory(Adr$):If*Buffer:Music=CatchMusic(#PB_Any,;;;
*Buffer,MemorySize(*Buffer)):FreeMemory(*Buffer):ProcedureReturn Music
Else:ProcedureReturn #false:EndIf:EndProcedure;;;;;;;;;;;;;;;;;;;;;;;;