FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Immortaliser les photos de famille
par Jean Claude Hier à 21:24

» Concours de Morpions
par jjn4 Hier à 16:34

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Début d'un nouveau système de 2D et Sprites

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Ven 13 Mai 2016 - 22:11

Citation :
Rien que l'image de fond est assez lourde (1600x1200, 2.37Mo), le stroumf 2x1.08Mo (aller + retour).
Quelques précisions sur la place que tout ça prend en mémoire:

- Image de fond:
l'image de fond est gardée telle qu'elle est, et quelque soit le viewport. Ceci permet de faire glisser le fond du Scene2D (en réalité, on déplace le viewport dans le sens opposé de ce que "tire" la souris). Et il y a bien sur l'image visualisée avec ses dimensions incontournables, et une zone de travail cachée au mêmes dimensions, pour le double tampon. Supposons que tu n'utilises pas le viewport et que la taille de ton image de fond est celle de l'image affichée. Il y a donc un espace de 3 fois cette taille réservée, rien que pour le Sene2D.
Conseil:
Essaie avec une image réduite. L'affichage va l'agrandir automatiquement, mais avec un "meilleur" algorithme que simplement ce que ferait STRETCH_ON.

- Sprite:
c'est très similaire pour chaque sprite. Il y a l'image d'origine, l'image actuellement affichée et une zone de travail interne (un masque binaire pour la transparence). Il y a intérêt à dimensionner les images individuelles de la ImageList exactement aux mêmes dimensions que celles du sprite affiché. Bien sûr, au moment de l'affichage, l'image sélectionnée est adaptée aux dimensions d'affichage. Mais c'est une perte de place en mémoire (et de temps de calcul, accessoirement) que d'avoir des images da,s la ImageList qui seraient plus grandes que les dimensions du sprite au moment de l'affichage.
Résumons: un sprite a une image initiale, chargée directement à la création ou issue d'une ImageList, il a aussi une bitmap de la même dimension pour la transparence et il contient une référence (pas une copie !) vers la Imagelist. Ainsi, plusieurs sprites peuvent utiliser la même ImageList dans pour autant qu'elle soit dupliquée en mémoire. C'est important. Ceci dit, la ImageList a la taille qu'elle a, c'est incontournable.
Conseil: dapter le plus possible les images individuelles à la taille réelle du sprite auquel elles sont destinées.

EDIT

Je suis d'ailleurs en train d'implémenter un nouveau système, en interne au Scene2D, pour éviter la multiplication des timers. Car en effet, chaque sprite peut en avoir entre 0 et 3 timers actifs simultanément: automatisation du déplacement, animation de son image et variation de sa transparence.

Il y aura une nouvelle option pour un Scene2D qui permet une animation globale du Scene2D. Dans ce cas, il y a un délai en millisecondes pour l'animation du Sene2D, et a durée des diverses animations de tous les sprites seront automatiquement converties en multiples de cycles de l'animation du Scene2D, et tout aura lieu de façon synchrone, géré par le seul timer du Scene2D.

Avantage: moindre charge CPU, synchronisation automatique de tous les changements, variation de la vitesse globalement par le délai de l'animation du Scene2D
Inconvénient: ajustement moins fin de la vitesse des différentes animations des différents sprites, car les délais seront automatiquement convertis en multiples de cycles d'animation du Scene2D.

Petit plus:
Avec l'animation globale par le Scene2D, viendra également le déplacement automatique de l'image de font (plus exactement du viewport) jusqu'à la butée dans une des bordures, comme pour le déplacement des sprites.

Mais le système actuel restera et continuera à être amélioré. Ce sera juste une option à utiliser.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 9:57

Merci pour les explications.

j'ai réduit l'image de fond, c'est déjà beaucoup plus fluide.

Concernant la fabrication d'une ImageList, j'ai vérifié ce que j'avais fait:
1) j'ai créé l'ImageList avec les commandes appropriées de la dll
2) Je l'ai transformée en BMP avec PicPick.
le résultat : pour le stroumf (16 images de 128x128) l'ImageList de départ pèse 1.28Mo, une fois transformée en bmp elle pèse 1,03Mo (donc moins lourde)
Je précise que les 2 fichiers (bmp ou pas) fonctionnent parfaitement pour l'animation.

Ce qui entraîne la question suivante: Est-ce que ça pose un problème de transformer l'ImageList en fichier.bmp, pour le fonctionnement de l'animation ?
Car si ça ne pose pas de problème, autant faire la conversion, vu qu'on a un gain de 1.28 - 1.03 = 0,25Mo par ImageList du stroumf qui en a deux (une pour l'aller et une pour le retour), soit un gain de 0,5Mo au total.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 11:21

Citation :
Est-ce que ça pose un problème de transformer l'ImageList en fichier.bmp, pour le fonctionnement de l'animation ?
scratch scratch scratch Je n'en ai pas la moindre idée ! A vrai dire, je ne sais même pas comment je pourrais transformer une ImageList en BMP. Une ImageList, pour moi, est chargée à partir d'un fichier ILB. Alors, la correspondance avec un BMP, je n'en sais rien. Comment as-tu fait cela, et comment la charges-tu ? Ca va m'apprendre quelque chose !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 12:59

Fausse joie !

J'ai réessayé d'enregistrer une ImageList en bmp avec Picpick, ça ne marche pas !
Comment j'ai fait le premier coup ? ben... j'en sais rien. J'ai dû renommer avec l'extention, en pensant qu'il fallait absolument un BMP pour l'ImageList, ou peut-être pour avoir un nom plus significatif, je ne me rapelle plus.  Embarassed  drunken  drunken  drunken

Il faut dire que j'ai beaucoup bidouillé, galéré... surtout au début.

Dommage, c'était une fausse piste.

A+


Dernière édition par Jean Claude le Sam 14 Mai 2016 - 13:51, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 13:13

Ce n'est pas grave. En fait, une économie de mémoire de 20 % sur une ImageList, ça paraît intéressant, mais en valeur absolue, les 250 ko économisés ne sont pas significatifs. D'autant que si tu veux avoir plusieurs Schtroumpfs simultanément, ce sera la même ImageList et elle n'est donc en mémoire qu'une seule fois.

Là où il convient de faire attention, c'est l'image de fond, ainsi que la taille des images individuelles de l'ImageList pour qu'elles correspondent à la taile du sprite correspondant. Une plus grande image n'apporte rien car de toutes façons, elle sera adaptée à la taille du sprite. C'est juste une perte de place en mémoire et une perte de temps CPU pour la conversion, qui se fait forcément à chaque changement d'image.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 14:48

Après pour gagner de la place en mémoire pour les grande images servant de fond, il pourrait y avoir une système éventuellement intégré de tableau de sprites servant à faire le fond (ce serait un tableau à 2 colonnes la première correspondrait au numéro de la colonne de l'image de fond et dans la seconde, tu correspondrais à la ligne. La valeur de la case serait le numéro du sprite correspondant).

Ainsi, avec une image de taille raisonnable, tu pourrais construire d'immense image de fond et même éventuellement n'en construire qu'une partie pour gagner encore de la place en mémoire.

Ce serait très pratique, une souplesse importante pour l'utilisateur mais ça demande quand même pas mal de boulot de réflexion et de programmation pour Klaus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 14:58

Citation :
ça demande quand même pas mal de boulot de réflexion et de programmation pour Klaus.
Bof... imagine une collections de sprites fixes, de résistance 0, chacun étant relié à la même ImageList, avec un numéro d'image différent. Et placé en "pavage" de sorte à remplir le fon d. Et voilà - tu peux déjà le faire maintenant !

Cerise sur le gâteau: un clic dans le fond simulé te donne bien entendu l'ID du sprite, donc tu sais dans quelle "case" tu as cliqué.

Inconvénient: tu perds la possibilité de "tirer" le fond, puisque techniquement, tu ne cliques plus sur le fond qui est entièrement recouvert, mais sur un sprite. Alors, il faut déplacer le viewport par un moyen programmé (la fonction qui fait ça fait déjà partie des fonctions publiées).

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 19:19

A ce sujet,

Comment fait-on pour charger une ImageList pour le fond ?
1) Est-il possible de créer une ImageList avec une seule image ? Je l'ai fait, mais je crois que ça n'a pas marché car j'obtiens une Imagelist de 53 octets pour un BMP de 1440x1440 Question Exclamation Question
ça je vais le revoir...Embarassed
2) Y a-t'il une limite de taille pour une ImageList (Ex: 1440x1440)
3) doit-on au préalable charger un fond classique en JPG, avant de tenter SetImageListForScene2D

J'ai regardé l'exemple (chm) pour SetImageListForScene2D, mais je ne suis pas parvenu à imposer mon ImageList à SC2D%. Embarassed

Un exemple serait le bienvenue, sachant que l'ImageList existe déjà.

A+

PS: en écrivant, je me rends compte que pour créer une ImageList, il faut une image.bmp. Embarassed
Re PS: ben... c'était bien une image bmp que j'ai utilisé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 20:58

Citation :
1) Est-il possible de créer une ImageList avec une seule image ?
Oui. Il faut créer la IL avec les dimensions de l'image (toutes les images d'une même IL doivent avoir la même taille).

Citation :
2) Y a-t'il une limite de taille pour une ImageList (Ex: 1440x1440)
Non. Cette taille est tout à fait acceptable. Mais il faut la spécifier à la création de la IL, et l'image à charger doit avoir exactement le même taille.

Citation :
3) doit-on au préalable charger un fond classique en JPG, avant de tenter SetImageListForScene2D
Non.

Citation :
PS: en écrivant, je me rends compte que pour créer une ImageList, il faut une image.bmp
Si tu utilises AddImageToImageList pour ajouter une image dans la IL, tu peux utiliser BMP, JPG, GIF, PNG, ICO, ... Je vois que ce n'est pas encore documenté, et c'est un oubli, mais ça marche.

Comment faire ?
Code:

res% = dll_call2("CreateImageList",w%,h%) : ' w% et h% doivent être les dimensions exactes
res% = dll_call4("AddImageToImageList",IL%,adr(bmp$),trans%,RGB%) : ' image aux dimensions w%, h%
...
Ensuite, tu peux utiliser la IL comme dans la doc...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Sam 14 Mai 2016 - 21:37

Merci Klaus,
il me reste à tester l'affaire.

A+.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Dim 15 Mai 2016 - 21:51

@Klaus,
Juste pour signaler une erreur de doc.

Une erreur de copier/coller dans la doc.chm pour LoadMosaicBackgroundToScene2D .

L'exemple ne reprend pas cette commande, elle reprend LoadBackgroundToScene2D .

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Dim 15 Mai 2016 - 22:47

Merci, Jean-Claude. Je corrige pour la prochaine version, ainsi que quelques autres corrections de la doc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 2:59

J'ai essayé le système et ça marche bien. J'ai fais une nieme version du casse brique.
Je trouve que ça marche plutôt bien malgrè de toute petite saccade au niveau de l'animation mais je n'ai pas non plus optimisé ou essayé de faire des réglages optimums

Le programme est ici
Spoiler:
 

Pendant que je vous ais sous la main, ligne 24, le count de ma DLIST me donne 0. Je sais que c'est moi ui fait une erreur faue de pratique mai je ne vois pas laquelle... Pouvez-vous me die la bétise que je fais svp.

Pour pouvoir essayer, il vous faut télécharger les ressources ici: http://www.fichier-zip.com/2016/05/17/panorabrique-v3/ (Autre lien: http://fzip.li/G8gF)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 3:04

C'est parce que les lignes 354 et suivantes sont codées ainsi:
Code:
    if  1 = 0

    N = res% :  item_add Sprites_briques, N
...
donc la commande item_add n'est jamais exécutée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 7:45

Gloups, merci Klaus il devait être trop tard, j'étais passé à côté. Merci de ton aide Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 14:04

@Klaus,
Je cherche, en vain, la doc.chm pour ChangeOptionsOfScene2D.

@Jicehel,
Que penses-tu de tes essais avec 'la K2D", en terme de programmation ?

A+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 19:10


Dans l'aide en ligne, également:
Sommaire->Objets->Objet Scene2D->ChangeOptionsOfScene2D (3ème lien pour les fonctions de Scene2D, pas Sprite...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 19:42

Question Question Question
L'aide en ligne n'affiche pas cette fonction et Chrome refuse de télécharger sur CloodMe en prétextant je ne sait quelle danger.

Mais, tout va bien: Je l'ai trouvée sur ton site.

Merci, A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 20:01

Oups... j'ai vu ce que tu veux dire, pour l'aide en ligne. C'est la colonne de gauche qui n'affiche pas cette ligne. Mais si tu cliques sur le lien "Objet Scene2D et tu défiles la partie droite jusqu'à l'apparition des deux groupes de fonction (Scene2D et Sprite), tu as le lien...

Ceci dit, j'ai corrigé cela pour la doc en ligne. Efface ton cache et essaie à nouveau.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 20:51

C'est bon pour l'aide en ligne,

Y a-t'il une astuce pour tout replier la colonne de gauche ?

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mar 17 Mai 2016 - 21:03

Le résultat de mes tests: c'est super puissant au niveau des possibilités et les temps de réponses sont tout à fait acceptable du moins pour les tests que j'ai effectués et ce ans avoir encore optimisé le code.
Ça demande un peu d'adaptation au niveau de la réflexion mais après on peut faire des procédures pour faciliter l'usage mais ça reste quand même très simple d'utilisation.

En plus connaissant Klaus, on pourra encore lui demander des amélioration. Par exemple, on peut définir plusieurs zones sur un sprite, mais à moins que j'ai raté quelque chose, pour le moment, on ne peut pas savoir laquelle est rentré en collision. Si pour une rectangle, par exemple, on définit une zone en haut, une à droite, une à gauche et une en bas, on saura qu'une zone est touché mais on ne saura pas laquelle. (Encore une fois, c'est ce que j'ai compris, mais je peux me tromper).

Les possibilités sont énormes et je ne peux pas encore dire que ça répond à tous les besoins, je n'ais pas fait d'essais de space invader ou autre ou il faut bouger des tas de sprites en même temps, mais je peux déjà die que ça couvre déjà beaucoup des sujets et que ça répond de façon plus simple qu'en Panoramic pur. Pour un damier, on peut avoir le sprite de la case avec le sprite du pion dessus ou pas par exemple et KGF peut directement retourner si on a cliqué sur le pion ou sur la case sans avoir à faire de calculs dans le programme mais ce n'est qu'un exemple.

C'est clairement une jolie brique pour faciliter la création de jeux 2D
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Mer 18 Mai 2016 - 1:02

Citation :
on saura qu'une zone est touché mais on ne saura pas laquelle.
Regarde la doc de la zone d'interface:

L'information que tu cherches, elle est dans l'indice 8... Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Ven 20 Mai 2016 - 14:55

Oups, merci Klaus, j'avais loupé cette info et désolé pour mon merci tardif, mais j'avais aussi loupé ta réponse ...
Bon du coup je vais essayé de reprendre mon petit programme ce weekend pour finaliser un petit casse-brique sans prétention mais qui pourra facilement être complété soit par moi soit par quelqu'un d'autre pour en faire un jeu digne de ce nom.

Je n'ai pas posté la version du code que j'avais faite suite à ton intervention, mais ça marche plutôt bien un casse brique en 2D avec ton moteur.
Je le posterais avec l'intégration des zones de contacts si j'arrive à l'implémenter simplement.

Je pense faire 8 zones par briques et pour la balles pour faciliter la gestion des collisions et faire un test de cas
Par contre, je vais bien récupérer par cette méthode par exemple si je suis sur la balle, le numéro de la zone collisionnée de la balle.
Après il faut que je sélectionne le sprite collisioné pour récupérer également sa zone touchée, c'est bien ça ?

Sinon, je ferais une version plus simple ou je définirais juste 8 zones sur la balle. Je pense que ça devrait suffire pour avoir un comportement de rebond suffisamment naturel en fonction des cas.
Déjà, dans la version actuelle, dans la plus part des cas, ça passe bien, mais il y a quelques cas ou le rebond n'est pas très logique.

Ca te parait être une bonne méthode ou est-ce qu'il y aurait une façon plus simple de procéder à laquelle je n'ai pas pensé ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Ven 20 Mai 2016 - 18:18

Calculer le rebond n'est pas une chose aisée. Dans le cas d'un casse-brique, avec 8 zones sur la balle, c'ets déjà riche. Il te faut alors calculer le rebond, non seulement en fonction de la zone touchée, mais également en fonction de l'orientation du trajet de la balle avant impact... c'est coton.

Puis, tu as les contacts avec les bordures. Ca, c'est le cas "simple": pour un contact avec le bord gauche ou droit, il suffit d'inverser la composante horizontale. Pour un contact en haut ou en bas, on inverse la composante verticale.

Pour un contact avec une des briques, les choses sont un peu plus compliquées. Quoique.. il y a les mêmes 4 cas de figure (N,S,Q,E), avec le même traitement. Là où les choses se compliquent, c'est en cas de contact avec une des 4 zones de contact NE,NO,SE,SO. A toi de définir le comportement dans ce cas. EN tout cas, ce ne sera pas un simple inversement d'une des composantes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   Ven 20 Mai 2016 - 18:23

Bonsoir, j'ai testé ton jeu Jicehel.
A priori, ça marchera, pour le moment la raquette est pour moi trop près des premières briques. La réponse clavier est trop longue.
Mais j’essaierai la prochaine version, pour voir.
Tu as écrit:
Citation :
Bon du coup je vais essayé de reprendre mon petit programme ce weekend pour finaliser un petit casse-brique sans prétention

Donc il ne cassera pas des briques... !

Excuses-moi, mais une perche pareille ! je ne peux que la saisir.... Very Happy Razz
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Début d'un nouveau système de 2D et Sprites   

Revenir en haut Aller en bas
 
Début d'un nouveau système de 2D et Sprites
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant
 Sujets similaires
-
» Optimisation de la sécurité des données personnelles sur les forums : Nouveau système "Anti-aspirateur"
» Nouveauté forumactif : Nouveau système anti spammeurs + Widget de partage social Google « +1 ».
» OS X Mavericks : voici le nouveau système des Mac
» Nouveau système de configuration en ligne
» Mazda "i-ELOOP": nouveau système de récupération d'énergie au freinage

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: