Petit Computer France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

[Aide] SPHIT/SPCOL

+2
fenixelf
Adriendu92
6 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

[Aide] SPHIT/SPCOL Empty [Aide] SPHIT/SPCOL

Message par Adriendu92 Ven 4 Avr - 15:49

Salut j'aimerais un peu d'aide sur SPHIT/SPCOL c'est encore pour SPACE EMERALD.
1-Y a t-il une différence entre SPHIT et SPCOL  confused ?
Perso j'utilise SPHIT([Nombre])
2-Peut on détecter quand un sprite précis touches un autre sprite  confused  ?
Exemple :
Code:
SPHIT(1)
Cela detecte quand le sprite 1 touche n'importe quel autre sprite .
Je voudrais savoir quand le sprite 1 touche le sprite 3.
Voila c'est tout ce que je voudrais savoir .
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par fenixelf Sam 5 Avr - 16:41

Je n'utilise pas SPCOL, néanmoins, je sais que si tu fais SPHIT (1,3)
SPHIT=1 lorsque le sprite 1 cogne le sprite 3 ou 4 ou 5... Jusqu’à 99.
Pour être parfaitement précis tu peux faire un truc comme ça :
Code:
IF SPHIT(1,4)==1 THEN GOSUB @NUL
IF SPHIT(1,3)==1 THEN (actionquetuchoisis)
@NUL
RETURN
en faisant ça, si le sprite 1 cogne le sprite 3, ton autre commande s'active,
si le sprite 1 cogne le sprite 2 , rien ne se passe évidement,
et si le sprite 1 cogne le sprite 3 ou un autre, il và vers @NUL et revient immédiatement sans activer autre chose.
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Sam 5 Avr - 17:09

Tu as tout simplement la fonction SPHITSP (ID_Sprite1,ID_Sprite2)
Retourne 1 si les deux se touchent sinon retourne 0.

SPCOL crée une boîte de collision qui peut être plus grosse que le Sprite.
SPHIT c'est quand deux sprites entrent en collision.
Sans boîte de collision, ce sera quand deux sprites se chevauchent. (c'est comme ça que je le comprends)
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par fenixelf Sam 5 Avr - 18:18

Si SPHITSP existe, alors à quoi sert le SPHIT tout court?
Ah, à selectionner le plus grand nombre D'IDs possible?
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Sam 5 Avr - 20:32

Exactement. Imagine un grand vaisseau qui te tire 10 missiles à la fois. Tous ces missiles n'auront pas la même ID donc faire SPHITSP pour chaque serait fatiguant (dans une boucle, ce serait faire des calculs inutiles) alors qu'ils ont tous le même effet celui de provoquer des dégâts, donc il est préférable d'utiliser SPHIT.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Adriendu92 Dim 6 Avr - 8:20

Merci beaucoup je comprend vraiment mieux (ça serait bien de transférer les choses dites ici vers les tutos )
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par fenixelf Dim 6 Avr - 11:18

On devrait faire un grand tuto sur tout ce qui concerne les sprites et les background .
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Mer 2 Juil - 12:14

Bonjour, je suis nouveau sur ce site et je voudrai savoir pourquoi quand j'utilise SPHIT, la collision est détectée avant que les sprites se touchent et au moment où ils se touchent la collision n'est plus detectée. J'ai d'abord pensé qu'il avait déjà calculé les déplacements avant que l'image ne s'affiche mais après avoir testé avec les commandes VSYNC et WAIT après SPOFS ça ne marche toujours pas ! Aidez-moi s'il vous plait, j'ai cherché partout !
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par RayTro Mer 2 Juil - 12:16

Je suis pas un expert en sprites, mais peut-être c'est parce que tes sprites ne sont pas totalement transparents, donc il y a des pixels de la même couleur que le fond qui sont sur le sprite.

je vais faire des images pour illustrer, j'arrive !
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par RayTro Mer 2 Juil - 12:22

[Aide] SPHIT/SPCOL 99aff7705c
à gauche, un sprite de ballon en rouge, avec en noir des pixels de la même couleur que le fond, donc le sprite ne fait pas la taille du ballon, mais des contours de la même couleur que le fond.
d'où l'illustration en bas de l'image où la collision ne s'effectue pas au contact du ballon, mais bien des pixels autour qui ne sont pas transparent !
Voilà, c'est peut-être ça mais je suis pas un expert en sprites, alors je peux aussi dire n'importe quoi.
RayTro
RayTro
Admin

Messages : 335
Date d'inscription : 09/08/2013
Age : 28

https://petitcomputer-france.forumgaming.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Mer 2 Juil - 13:38

Merci pour votre réponse très rapide (la mienne non car je poste de ma 3ds qui a buguée) merci aussi pour le shéma mais ce n'est pas la solution car la collision est détectée environ 5cm avant la "vraie" sur l'écran et j'avais déjà vérifié cette hypothèse. Merci quand même !
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Mer 2 Juil - 20:51

Tu as peut-être mal utilisé la commande SPCOL. Les sprites par défaut font 16x16 pixels dont la boîte de collision doit faire la même taille aux coordonnées 0,0.

J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Mer 2 Juil - 21:19

A vrai dire, je n'ai pas utilisé SPCOL mais seulement SPHIT, pourtant ça devrait marcher, non ?
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Jeu 3 Juil - 1:41

Oui ça devrait marcher, essayes avec la commande SPHITSP qui ne fonctionne qu'avec seulement 2 sprites contrairement à SPHIT qui fonctionne avec plus.
Si ça fonctionne toujours pas, c'est ton code qui doit avoir un problème, vérifie qu'il fait bien ce que tu désires. Sinon poste-le ici, et moi ou quelqu'un d'autre vérifiront d'où vient le problème.

Test Code Collision SPHITSP:
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Jeu 3 Juil - 8:03

J'ai déjà essayé SPHITSP.
Je vais recopier mon programme tout de suite !
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Jeu 3 Juil - 8:26

J'ai écris :

ACLS:CLEAR
SPSET 0,40,0,0,0,1,16,16
SPHOME 0,-10,-100
SPSET 2,45,0,0,0,1,16,16
SPHOME 2,-70,-100

FOR I=1 TO 200
SPOFS 2,-K,0,0
IF SPHIT(1)==1 THEN PRINT "TEST"
WAIT 1
NEXT

A noter que la boucle FOR permet de faire déplacer le sprite progresssivement pour ne pas que le calcul soit fait avant le déplacement mais j'ai le même résultat en mettant SPOFS 2,-200,0,200 et en enlevant la boucle FOR
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Jeu 3 Juil - 20:53

Le soucis vient peut-être de SPHOME, j'ai un peu de mal à bien appréhender cette commande.
Après quelques tests, je pense que SPHOME change la position 0,0 qui se situe en haut à droite du sprite.

Par défaut le départ du sprite (0,0) est le coin supérieur gauche du carré jaune.
SPHOME 0,-5,-5 met le départ du sprite au coin supérieur gauche du carré bleu.
SPHOME 0,8,-10 met le départ du sprite au coin de la bouche du sprite.

[Aide] SPHIT/SPCOL Imaget10

C'est peut-être donc à cause de SPHOME que la collision est faussée. (mais je peux me tromper)
(je peux pas trop tester ton code car il manque certains éléments)
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Jeu 3 Juil - 22:48

Ça doit être ça. Je vais essayer sans.(au fait, dans mon code j'ai mis "-K" mais je voulais mettre "-I" à SPOFS).
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Jeu 3 Juil - 23:17

C'est ça, c'est SPHOME qui fausse tout. Mais du coup, SPHOME n'a pas vraiment d'interêt... Merci énormément car je cherchais depuis un moment sans trouver la solution.
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Ven 4 Juil - 1:20

Ravi d'avoir pu t'aider. En même temps ça m'a permis de tester un peu SPHOME, faudra que je change la définition dans mon fichier d'aide qui est un peu erroné.
Comme on dit, une pierre deux coups.
SPHOME sert juste à déplacer le point d'affichage du sprite. C'est très différent de l'emplacement sur l'écran.

Dans ton exemple de code les deux sprites sont en fait affichés tous les deux à l'emplacement (0,0) mais leur point d'affichage étant différent, tu les vois l'un en face de l'autre. Comme tu as laissé les boîtes de collision par défaut, elles commencent toutes les deux aux points d'affichage de leurs sprites respectifs c'est à dire qu'elles occupent la même place à (0,0) donc c'est normal qu'il y a collision entre les sprites.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Ven 4 Juil - 6:37

Du coup pour déplacer un sprite il faut faire SPOFS ou SPHOME + SPCOL pour definir la boîte de collision, c'est ça ?
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par J8B Ven 4 Juil - 17:45

Pour déplacer un sprite c'est SPOFS et c'est tout.
SPHOME ne déplace pas du tout le sprite, il change seulement son point d'affichage.
Prend par exemple une affiche (représentant ton sprite) et une punaise (représentant le point d'affichage), SPHOME ne fera se déplacer que la punaise.
Bien entendu si tu utilises SPHOME, il faut utiliser SPCOL pour la boîte de collision.

J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par fenixelf Ven 4 Juil - 18:40

Moi je n'ai JAMAIS utilisé SPHOME et je n'en ai jamais eu besoin... Finalement, on peut la remplacer facile par SPOFS.
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Raven94 Ven 4 Juil - 20:01

OK, merci !
Raven94
Raven94

Messages : 19
Date d'inscription : 02/07/2014
Age : 23

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Adriendu92 Sam 5 Juil - 11:14

Bon ça n'as rien a voit mais j'annonce que j'arrête Space Emerald le temps d'apprendre a faire les IA et que demain ou après demain je vais poster un programme bien pratique Wink
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Aide] SPHIT/SPCOL Empty Re: [Aide] SPHIT/SPCOL

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum