@Micheao,
Je te rassure moi non plus, la trigono c'est pas ma force. Javais du demandé pour un autre projet
je viens de commencer un jeux c'est un petit Shoot'Em Up
- microdevweb
- Messages : 1800
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
le probléme c'est que pas compris certaines de ton code :
Code : Tout sélectionner
Velocity.i
Angle.i
\Angle=Random(160,130)
\Velocity=1
\X=\X-Cos(Radian(\Angle)) *\Velocity
\Y=\Y+Sin(Radian(\Angle)) *\Velocity
If (\X-(SpriteWidth(#Invader)*2))>ScreenWidth() Or (\Y-(SpriteHeight(#Invader)*2))>ScreenHeight()
\X=0
\Y=-100
EndIf
If \X>=(0-SpriteWidth(#Invader)) And \X<=(ScreenWidth()+SpriteWidth(#Invader))
If \Y>=(0-SpriteHeight(#Invader)) And \Y<=(ScreenHeight()+SpriteHeight(#Invader))
DisplayTransparentSprite(#Invader,\X,\Y)
- microdevweb
- Messages : 1800
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Voila une code de teste avec différents angles, la tu a la formule à toi de jouer avec suivant l'angle que tu veux
Donc en gros pour ton jeu tu calcul la nouvelle position comme suit
positionX=positionX+Cos(Radian(Angle_du_vaiseau))*Distance_a_parcourir_a_chaque_cycle
positionY=positionY+Sin(Radian(Angle_du_vaiseau))*Distance_a_parcourir_a_chaque_cycle
Et tes vaisseaux ennemi se déplaceront suivant un angle donné, n'oublie pas non plus de faire un RotateSprite(#Sprtie,Angle) pour que ton sprite donne une impression de réalisme
Maintenant il est également possible de faire en sorte que le vaisseau ennemi vise le vaisseau du joueur, mais je ne sais pas si c'est ton souhait.
Note: pour les jeux ce genre de formule est indispensable
Code : Tout sélectionner
; X,Y= le départ du point
; X2,Y2 = l'arrivée du point
OpenWindow(0,0,0,800,600,"teste",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CanvasGadget(0,0,0,800,600)
StartDrawing(CanvasOutput(0))
X=400 ; le centre du canvas
Y=300 ; le centre du canvas
;Teste avec un angle de 90° sur une distance de 100 pxl en vert
X2=X+Cos(Radian(90))*100
Y2=Y+Sin(Radian(90))*100
LineXY(X,Y,X2,Y2,$00FF00)
;Teste avec un angle de 30° sur une distance de 100 pxl en rouge
X2=X+Cos(Radian(30))*100
Y2=Y+Sin(Radian(30))*100
LineXY(X,Y,X2,Y2,$0000FF)
;Teste avec un angle de 60° sur une distance de 100 pxl en bleu
X2=X+Cos(Radian(60))*100
Y2=Y+Sin(Radian(60))*100
LineXY(X,Y,X2,Y2,$FF901E)
;Teste avec un angle de 45° sur une distance de 100 pxl en maron
X2=X+Cos(Radian(45))*100
Y2=Y+Sin(Radian(45))*100
LineXY(X,Y,X2,Y2,$3F85CD)
StopDrawing()
Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
positionX=positionX+Cos(Radian(Angle_du_vaiseau))*Distance_a_parcourir_a_chaque_cycle
positionY=positionY+Sin(Radian(Angle_du_vaiseau))*Distance_a_parcourir_a_chaque_cycle
Et tes vaisseaux ennemi se déplaceront suivant un angle donné, n'oublie pas non plus de faire un RotateSprite(#Sprtie,Angle) pour que ton sprite donne une impression de réalisme
Maintenant il est également possible de faire en sorte que le vaisseau ennemi vise le vaisseau du joueur, mais je ne sais pas si c'est ton souhait.
Note: pour les jeux ce genre de formule est indispensable
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Merci mais un peu complexe pour ma part
- microdevweb
- Messages : 1800
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
@Micheao,
Désolé mais je ne voie pas commet mieux t'expliquer, retient simplement que tu n'a pas besoins de comprendre la formule, c'est de la trigono et donc ce sont des formules que l'on utilise telle quel. Tu dois juste l'appliquer c'est tout.
Désolé mais je ne voie pas commet mieux t'expliquer, retient simplement que tu n'a pas besoins de comprendre la formule, c'est de la trigono et donc ce sont des formules que l'on utilise telle quel. Tu dois juste l'appliquer c'est tout.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Pour le moment je met de coté ce jeux
car je suis entrain le tuto de microdevweb du jeu Asteroid
car je suis entrain le tuto de microdevweb du jeu Asteroid