je viens de commencer un jeux c'est un petit Shoot'Em Up
je viens de commencer un jeux c'est un petit Shoot'Em Up
Bonsoir
je viens de commencer un jeux c'est un petit Shoot'Em Up il est pas fini il manque encore la gestion des ennemis la vie et le score
J'utilise l'excellent module Lixu.pbi de falsam que je remercie au passage ainsi que microdevweb pour leur aides
Executable + source ici : ( j'ai inclus le module Lixu.pbi et j'ai crée un fichier .pbi pour le jeux lui-même. )
Mise à jour du fichier du 09/11/15
https://www.dropbox.com/s/2uxx0rhsgu84l ... r.zip?dl=0
Aperçu :
J'attends vos avis et conseils
je viens de commencer un jeux c'est un petit Shoot'Em Up il est pas fini il manque encore la gestion des ennemis la vie et le score
J'utilise l'excellent module Lixu.pbi de falsam que je remercie au passage ainsi que microdevweb pour leur aides
Executable + source ici : ( j'ai inclus le module Lixu.pbi et j'ai crée un fichier .pbi pour le jeux lui-même. )
Mise à jour du fichier du 09/11/15
https://www.dropbox.com/s/2uxx0rhsgu84l ... r.zip?dl=0
Aperçu :
J'attends vos avis et conseils
Dernière modification par Micheao le lun. 09/nov./2015 11:27, modifié 2 fois.
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Bonjour,
Déjà ce est vraiment sympa, pour les petites critiques ou erreur, je dirais que perso la musique ne va pas du tout avec le style (avis perso). Le double parallaxe me perturbe vu son mouvement. Et enfin le tire du vaisseau au dirais qu'il et a 10 mètres du vaisseau lui même.
Sinon ce n'est que de petite critique et après quelques modifs et l'ajout du code manquant pense que ce sera bien.
Cordialement,
GallyHC
Déjà ce est vraiment sympa, pour les petites critiques ou erreur, je dirais que perso la musique ne va pas du tout avec le style (avis perso). Le double parallaxe me perturbe vu son mouvement. Et enfin le tire du vaisseau au dirais qu'il et a 10 mètres du vaisseau lui même.
Sinon ce n'est que de petite critique et après quelques modifs et l'ajout du code manquant pense que ce sera bien.
Cordialement,
GallyHC
Dernière modification par GallyHC le dim. 08/nov./2015 21:01, modifié 1 fois.
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
C'est une musique d'intro et je ne vois pas ce qui ne va pas. J'aime bienGallyHC a écrit :je dirais que perso la musique ne va pas du tout avec le style
Un seul paralax de bas en haut et peut être suffisant. Mais je ne connais pas la suite du jeu.GallyHC a écrit :Le double parallaxe me perturbe vu son mouvement
Il faut savoir parler le Gallycien. Le parlant plutôt mal je vais essayer de donner une bonne traduction:GallyHC a écrit :Et enfin le pire du vaisseau au dirais qu'il et a 10 mètres du vaisseau lui même.
Ce que voulait dire Gally, c'est que la taille de la police est trop grande par rapport à la taille du vaisseau spatial. Ce qui donne cette impression d'une vue éloignée du vaisseau.
Bon et bien on attend la suite avec impatience
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Merci pour vos conseils les gars
GallyHC voulait parler du tir du vaisseau , j'ai pas encore résolu ce probleme à savoir faire partir le tir prés du vaisseau
GallyHC voulait parler du tir du vaisseau , j'ai pas encore résolu ce probleme à savoir faire partir le tir prés du vaisseau
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Je n'ai pas encore regardé ton code mais je suppose que ton tir commence à une position x y
ton vaisseau est aussi à une position x y
ton x à l'air de coller, c'est ton y qui chie.
Donc change ton tir(N)\y pour qu'il soit = vaisseau\y -5 par exemple (la position de l’écran commençant à 0 en haut, si ton vaisseau y = 500, ton tir peut commencer à 500-5)
ton vaisseau est aussi à une position x y
ton x à l'air de coller, c'est ton y qui chie.
Donc change ton tir(N)\y pour qu'il soit = vaisseau\y -5 par exemple (la position de l’écran commençant à 0 en haut, si ton vaisseau y = 500, ton tir peut commencer à 500-5)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Merci AR-SAr-S a écrit :Je n'ai pas encore regardé ton code mais je suppose que ton tir commence à une position x y
ton vaisseau est aussi à une position x y
ton x à l'air de coller, c'est ton y qui chie.
Donc change ton tir(N)\y pour qu'il soit = vaisseau\y -5 par exemple (la position de l’écran commençant à 0 en haut, si ton vaisseau y = 500, ton tir peut commencer à 500-5)
Code corrigé :
- microdevweb
- Messages : 1798
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Salut Micheao,
Pas mal, c'est codé de manière propre. Mes petites remarques qui je l'espère seront constructive.
Il y avaient des différences entre ton exe et ton code (départ des balle en Y) bien aligné dans ton code mais pas dans ton exe. Par contre pas bien aligné en X par rapport au vaisseau, j'ai fais quelques testes et corrections
Dans le dessin des tes balles, essaie de prendre une base divisible par 2 (2,3,4,6,8,10 etc)
moi j'ai fais ceci
Pour l'affichage des balles, tu dois prendre également en considération le sprite (bulet)
comme ceci
Voila mais sinon tu est sur la bonne voie
Pas mal, c'est codé de manière propre. Mes petites remarques qui je l'espère seront constructive.
Il y avaient des différences entre ton exe et ton code (départ des balle en Y) bien aligné dans ton code mais pas dans ton exe. Par contre pas bien aligné en X par rapport au vaisseau, j'ai fais quelques testes et corrections
Dans le dessin des tes balles, essaie de prendre une base divisible par 2 (2,3,4,6,8,10 etc)
moi j'ai fais ceci
Code : Tout sélectionner
;--On crée les munitions pour le tir
CreateSprite(#Bulet,6,6)
StartDrawing(SpriteOutput(#Bulet))
Circle(0,0,3,RGB(255,255,255))
StopDrawing()
comme ceci
Code : Tout sélectionner
If KeyboardPushed(#PB_Key_Space) And ShotOn ; MCW
PlaySound(#Sound,0 ,30)
AddElement(myBulet())
myBulet()\X=ShipX+(SpriteWidth(#Spr_Ship)/2-(SpriteWidth(#Bulet)/2))
myBulet()\Y=ShipY-0
; On ne peut plus tirré avant le temps écoulé
ShotOn=#False
EndIf
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 microdevweb pour tes conseils
j'ai mis à jour l'exe et le fichier source
je cherche à crée des vaisseau ennemis qui démarront en dehors de la fenetre écran pour bouger en verticale
je sais comment afficher et bouger un sprite sur l'écran mais pas le faire bouger en dehors de la fenetre écran .
que me conseil tu pour la gestion du score et de la vie ?
Merci
j'ai mis à jour l'exe et le fichier source
je cherche à crée des vaisseau ennemis qui démarront en dehors de la fenetre écran pour bouger en verticale
je sais comment afficher et bouger un sprite sur l'écran mais pas le faire bouger en dehors de la fenetre écran .
que me conseil tu pour la gestion du score et de la vie ?
Merci
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Pense X Y Micheao !
Ton ecran va de 0 (haut de l'ecran en y, gauche de l'ecran en x)
si tu veux placer/bouger un sprite en dehors de l'ecran, place le
- soit AVANT 0 (ex : -40 )
- Soit Après la taille de ton ecran (si ton screen fait 800, place ton sprite à 820 par ex.)
Un peu de logique que diable !
Pour tes vies, décrémente le nbre de vie de 1 à chaque fois qu'un vaisseau ennemi touche le tiens ou que ton vaisseau se prend une balle ennemie (si les ennemis tirent)
Ton ecran va de 0 (haut de l'ecran en y, gauche de l'ecran en x)
si tu veux placer/bouger un sprite en dehors de l'ecran, place le
- soit AVANT 0 (ex : -40 )
- Soit Après la taille de ton ecran (si ton screen fait 800, place ton sprite à 820 par ex.)
Un peu de logique que diable !
Pour tes vies, décrémente le nbre de vie de 1 à chaque fois qu'un vaisseau ennemi touche le tiens ou que ton vaisseau se prend une balle ennemie (si les ennemis tirent)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- microdevweb
- Messages : 1798
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
@Micheao,
Pour tes vaisseaux ennemis tu peux sans problème les afficher hors écran, le moteur de sprite de Pb fera le travaille. Tu les stocke dans une structure suivant les niveaux tu en ajoute une Certaine quantité, tu peux également joué sur la vélocité, et si tu veux qu'il descente en biais il va falloir jouer avec de trigono.
J'essayerais de te faire une petit exemple fin d'après midi
Pour tes vaisseaux ennemis tu peux sans problème les afficher hors écran, le moteur de sprite de Pb fera le travaille. Tu les stocke dans une structure suivant les niveaux tu en ajoute une Certaine quantité, tu peux également joué sur la vélocité, et si tu veux qu'il descente en biais il va falloir jouer avec de trigono.
J'essayerais de te faire une petit exemple fin d'après midi
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
Hello,
Attention à ne pas afficher ton sprite trop en dehors car des bugs peuvent apparaitre sur certains ordi avec les dernières versions de PB.
Il semble que l'on puisse afficher un sprite en dehors de l'écran mais dans la limite de la taille du sprite.
Avec un ecran de 1024x768 pixels
Si le sprite à une largeur de 20 pixels et une hauteur de 10 pixels :
il faut que l'affichage du sprite soit compris dans la zone :
-20 à 1024 pour les x
-10 à 768 pour les y
si tu affiches ce sprite trop à gauche, trop à droite, trop en bas ou en trop en haut, les sprites sont déformés...
Attention à ne pas afficher ton sprite trop en dehors car des bugs peuvent apparaitre sur certains ordi avec les dernières versions de PB.
Il semble que l'on puisse afficher un sprite en dehors de l'écran mais dans la limite de la taille du sprite.
Avec un ecran de 1024x768 pixels
Si le sprite à une largeur de 20 pixels et une hauteur de 10 pixels :
il faut que l'affichage du sprite soit compris dans la zone :
-20 à 1024 pour les x
-10 à 768 pour les y
si tu affiches ce sprite trop à gauche, trop à droite, trop en bas ou en trop en haut, les sprites sont déformés...
Only PureBasic makes it possible
- microdevweb
- Messages : 1798
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
@Cool Dji,
Ha bon je ne savais pas
Ha bon je ne savais pas
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
- microdevweb
- Messages : 1798
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Bon voila un genre de code (a modifier et améliorer)
Code : Tout sélectionner
Enumeration
#Invader
EndEnumeration
Structure Invader
X.i
Y.i
Velocity.i
Angle.i
EndStructure
Global NewList myInvader.Invader()
InitSprite()
InitKeyboard()
OpenWindow(0,0,0,800,600,"Ship",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,800,600)
CreateSprite(#Invader,64,64,#PB_Sprite_AlphaBlending|#PB_Sprite_PixelCollision)
StartDrawing(SpriteOutput(#Invader))
Box(0,0,SpriteWidth(#Invader),SpriteHeight(#Invader),$00FF00)
StopDrawing()
; Création des ennemis
With myInvader()
AddElement(myInvader())
\X=0
\Y=-100
\Angle=Random(160,130)
\Velocity=1
EndWith
Repeat
Repeat
Event=WindowEvent()
If Event=#PB_Event_CloseWindow
End
EndIf
Until Event=0
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
ClearScreen(RGB(0,0,0))
ForEach myInvader()
With myInvader()
\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)
EndIf
EndIf
EndWith
Next
FlipBuffers()
ForEver
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
Moi non plus, j'ai remarqué ça récemment. Le même code marchait bien sur certains ordi et "beuguait" sur d'autres, c'est en analysant que j'ai trouvé ce truc.microdevweb a écrit :@Cool Dji,
Ha bon je ne savais pas
Maintenant, j'ai une procedure AfficheSprite(sprite,x,y) qui test si le sprite est dans la zone avant de l'afficher avec un DisplaySprite(sprite,x,y).
Only PureBasic makes it possible
Re: je viens de commencer un jeux c'est un petit Shoot'Em U
Merci microdevweb pour cet exemple
malheureusement je pas doué en math pour les cosinus et les sinus .
malheureusement je pas doué en math pour les cosinus et les sinus .