8 réflexions au sujet de “[Base – Atelier 2] – Shoot’Em Up”
Salut ! J’ai testé sous Windows et voici mon retour : Il y a des problèmes de collision avec le joueur et les ennemis, on les détruit et on se fait détruire quand les tirs sont à une certaine distance de leur cible (on se fait détruire si on tente de passer entre les tirs des premiers ennemis par exemple). Je pense que tu devrais également augmenter légèrement la vitesse de déplacement du joueur également. Sinon le jeu tourne bien, sans ralentissements.
Continue comme ça !
Slt,
Merci pour tes coms.
J’avais déjà relevé ces points, mais tu as raison.
Par exemple j’ai pas ajouté le delta time lors du déplacement du vaisseau.
A faire dans une V2.
Bon courage à toi également.
Athanar.
Même remarque, faut revoir les collisions et la vélocité du vaisseau.
Sur Pc ça fonctionne correctement.
Continue bien
Thanks!
Toi aussi.
Athanar
C trés bien. Juste les collisions à revoir, peut être diminuer le rectangle de collision ou faire une autre système de collision avec les distances.
Bonne continuation
Merci pour ton retour encourageant!
Bonne continuation à toi aussi.
Athanar
Testé sous windows également, j’ai rencontré les mêmes problèmes de vélocité et de collisions, mais à coté de ça j’ai bien aimé les patterns de plusieurs vaisseaux qui spawn en formation.
Continue, t’es bien parti 🙂
Je ne me souvient plus dans quel atelier ça se trouve, mais David fournit une fonction pour traiter les collisions. Il en parle dans l’atelier de pico-8 mais aussi dans un atelier précédent. De mémoire ça ressemble à ceci :
`function Collision(pA, pB)
— on définit les points milieux des objets A et B
— si les positions des objets sont définis par rapport
— au coin supérieur gauche de l’image
local xA = pA.x + pA.width/2
local yA = pA.y + pA.height/2
local xB = pB.x + pB.width/2
local yB = pB.y + pB.height/2
— on calcul la différence entre les positions milieux x et y
dx = math.abs(xA – xB)
dy = math.abs(yA – yB)
— le test suivant va te dire si les boîtes des objets se touchent
if dx < (pA.width/2 + pB.width/2) then
if dy < (pA.height/2 + pB.height/2) then
return true — ou appelle une fonction qui va traiter la collision
end
end
8 réflexions au sujet de “[Base – Atelier 2] – Shoot’Em Up”
Salut ! J’ai testé sous Windows et voici mon retour : Il y a des problèmes de collision avec le joueur et les ennemis, on les détruit et on se fait détruire quand les tirs sont à une certaine distance de leur cible (on se fait détruire si on tente de passer entre les tirs des premiers ennemis par exemple). Je pense que tu devrais également augmenter légèrement la vitesse de déplacement du joueur également. Sinon le jeu tourne bien, sans ralentissements.
Continue comme ça !
Slt,
Merci pour tes coms.
J’avais déjà relevé ces points, mais tu as raison.
Par exemple j’ai pas ajouté le delta time lors du déplacement du vaisseau.
A faire dans une V2.
Bon courage à toi également.
Athanar.
Même remarque, faut revoir les collisions et la vélocité du vaisseau.
Sur Pc ça fonctionne correctement.
Continue bien
Thanks!
Toi aussi.
Athanar
C trés bien. Juste les collisions à revoir, peut être diminuer le rectangle de collision ou faire une autre système de collision avec les distances.
Bonne continuation
Merci pour ton retour encourageant!
Bonne continuation à toi aussi.
Athanar
Testé sous windows également, j’ai rencontré les mêmes problèmes de vélocité et de collisions, mais à coté de ça j’ai bien aimé les patterns de plusieurs vaisseaux qui spawn en formation.
Continue, t’es bien parti 🙂
Je ne me souvient plus dans quel atelier ça se trouve, mais David fournit une fonction pour traiter les collisions. Il en parle dans l’atelier de pico-8 mais aussi dans un atelier précédent. De mémoire ça ressemble à ceci :
`function Collision(pA, pB)
— on définit les points milieux des objets A et B
— si les positions des objets sont définis par rapport
— au coin supérieur gauche de l’image
local xA = pA.x + pA.width/2
local yA = pA.y + pA.height/2
local xB = pB.x + pB.width/2
local yB = pB.y + pB.height/2
— on calcul la différence entre les positions milieux x et y
dx = math.abs(xA – xB)
dy = math.abs(yA – yB)
— le test suivant va te dire si les boîtes des objets se touchent
if dx < (pA.width/2 + pB.width/2) then
if dy < (pA.height/2 + pB.height/2) then
return true — ou appelle une fonction qui va traiter la collision
end
end
return false
end`