
l'offset changera d'une architecture à l'autre.
Code : Tout sélectionner
;*****************************************
;* Un bout de code pour apprendre la 2D *
;*****************************************
; on initialise le sprite,le clavier et la souris
InitSprite()
InitKeyboard()
InitMouse()
; Definition de la constante pour le curseur
Enumeration
#Top
#Right
EndEnumeration
ExamineDesktops()
DskW=DesktopWidth(0)
DskH=DesktopHeight(0)
DskD=DesktopDepth(0)
; Creation de l'ecran
OpenScreen(DskW,DskH,DskD," JBNoid 0.01")
; Creation d'un simple sprite pour le cuseur
CreateSprite(#Top,200,16)
CreateSprite(#Right,16,200)
StartDrawing(SpriteOutput(#Top))
Box(0,0,200,16,RGB(255,255,255))
StopDrawing()
StartDrawing(SpriteOutput(#Right))
Box(0,0,16,200,RGB(255,255,255))
StopDrawing()
;Boucle principale
Repeat
ClearScreen(RGB(0,0,0))
MouseX=MouseX()
mouseY=MouseY()
; Gauche-Droite
; Enlever la largeur de la "raquette" pour ne pas sortir de l'écran
If MouseX<=DskW-200
PosX=MouseX
Else
PosX=DskW-200
EndIf
; Haut-Bas
; Idem penser à enlever la hauteur du sprite pour ne pas sortir de l'écran
If MouseY<=DskH-200
posY=mouseY
Else
posY=DskH-200
EndIf
StartDrawing(ScreenOutput())
DrawText(0,0,"MouseX : "+Str(MouseX))
DrawText(0,0,"MouseY : "+Str(MouseY))
StopDrawing()
ExamineKeyboard()
ExamineMouse()
; Affiche raquette en haut et en bas
DisplayTransparentSprite(#Top,PosX,DskH-16) ; 16 = hauteur du sprite
DisplayTransparentSprite(#Top,PosX,0)
; Affiche à droite et à gauche
DisplayTransparentSprite(#Right,0,PosY)
DisplayTransparentSprite(#Right,DskW-16,PosY) ; 16 = hauteur du sprite
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Code : Tout sélectionner
;*****************************************
;* Un bout de code pour apprendre la 2D *
;*****************************************
; on initialise le sprite,le clavier et la souris
InitSprite()
InitKeyboard()
InitMouse()
; Definition de la constante pour le curseur
Enumeration
#Top
#Right
#Balle
EndEnumeration
; Résolution de votre écran
ExamineDesktops()
DskW=DesktopWidth(0)
DskH=DesktopHeight(0)
DskD=DesktopDepth(0)
; Creation de l'ecran
OpenScreen(DskW,DskH,DskD," JBNoid 0.01")
; Creation d'un simple sprite pour le cuseur
CreateSprite(#Top,200,16)
CreateSprite(#Right,16,200)
StartDrawing(SpriteOutput(#Top))
Box(0,0,200,16,RGB(255,255,255))
StopDrawing()
StartDrawing(SpriteOutput(#Right))
Box(0,0,16,200,RGB(255,255,255))
StopDrawing()
; sprite "Balle"
CreateSprite(#Balle,16,16)
StartDrawing(SpriteOutput(#Balle))
Circle(7,7,7,RGB($00,$FF,$FF))
StopDrawing()
; Position aléatoire de la balle dans un premier temps, dans un carré central
; à l'écran pour ne pas démarrer avec une balle trop proche d'une raquette
balleX=Random(DskW/2)+(DskW/4)
balleY=Random(DskH/2)+(DskH/4)
; "Pas"(=Step) Sens de mouvement par défaut de la balle
sensX=4
sensY=4
;Boucle principale
Repeat
ClearScreen(RGB(0,0,0))
MouseX=MouseX()
mouseY=MouseY()
; Gauche-Droite
; Enlever la largeur de la "raquette" pour ne pas sortir de l'écran
If MouseX<=DskW-200
PosX=MouseX
Else
PosX=DskW-200
EndIf
; Haut-Bas
; Idem penser à enlever la hauteur du sprite pour ne pas sortir de l'écran
If MouseY<=DskH-200
posY=mouseY
Else
posY=DskH-200
EndIf
; Gérer mouvement de la balle, on ne s'occupe pas encore des raquettes
balleX=balleX+sensX
balleY=balleY+sensY
If balleX>=dskW-16 Or balleX<=0
sensX*-1 ; inverser le sens
EndIf
If balleY>=dskH-16 Or balleY<=0
sensY*-1 ; inverser le sens
EndIf
StartDrawing(ScreenOutput())
DrawText(20,20,"MouseX : "+Str(MouseX))
DrawText(20,40,"MouseY : "+Str(MouseY))
DrawText(20,60,"balleX : "+Str(balleX))
DrawText(20,80,"balleY : "+Str(balleY))
StopDrawing()
; Affiche raquette en haut et en bas
DisplayTransparentSprite(#Top,PosX,DskH-16) ; 16 = hauteur du sprite
DisplayTransparentSprite(#Top,PosX,0)
; Affiche à droite et à gauche
DisplayTransparentSprite(#Right,0,PosY)
DisplayTransparentSprite(#Right,DskW-16,PosY) ; 16 = hauteur du sprite
; Balle
DisplayTransparentSprite(#Balle,balleX,balleY)
FlipBuffers()
ExamineKeyboard()
ExamineMouse()
Until KeyboardPushed(#PB_Key_Escape) Or MouseButton(#PB_MouseButton_Left)
+1 : allez jb13Ar-S a écrit :Allez JB13 et autres qui veulent se lancer, le code de Taz est très compréhensif. A vous de continuer ! Lancez vous !