Messagerie


Gestion des tableaux globaux

Poum
dimanche 5 février 2017 à 20:30

...


Bon, j'ai essayé dans tous les sens, en fin de compte ce n'est pas parfait.

Je vais revenir à ma première idée, à savoir utiliser un tableau (plusieurs à vrai dire).
Qui plus est ça va me faire la main dessus  :P


J'ai commencé et je me retrouve vers vous avec une question :
Les dimensions sont obligatoirement fixées dès le départ ? Je ne vois pas pas sinon comment redimensionner un tableau lors du déroulement de l'appli.
Kloug
1497 messages
Fusion 2.5
lundi 6 février 2017 à 08:26
Hello!

"Bon, j'ai essayé dans tous les sens, en fin de compte ce n'est pas parfait."

Bienvenue dans l'espace... Faire des compromis (lol).

"Je vais revenir à ma première idée, à savoir utiliser un tableau."

Bonne idée, l'objet tableau est une extension native.

"Les dimensions sont obligatoirement fixées dès le départ ?"

Oui, les dimensions d'un tableau sont a définir seulement au début.

Sous Windows, la sauvegarde intégrée permet de récupérer sans peine les données globales, à condition d'avoir un fichier pour chaque scène, cela peut faire beaucoup de fichiers néanmoins faciles à gérer.

A+

Édit:
Si tu as peu de valeurs globales à sauvegarder, tu peux passer par les variables d'un objet global, voire plusieurs, bien sûr à combiner avec la sauvegarde intégrée, ceci permet de diminuer le nombre de fichiers à sauvegarder, via une scène save load.

Bon courage pour la suite.
Poum
lundi 6 février 2017 à 09:08
Comme je le soulignais, je pense que c'est une bonne idée d'autant que je maitrise parfaitement ma sauvegarde et les éléments dont j'ai besoin de sauvegarder.


Oui, les dimensions d'un tableau sont a définir seulement au début.

Dommage mais bon, c'est compréhensible. Cela dit, ne trouvant pas une doc exhaustive, je fais des tests et par talonnement / observation je découvre des choses.
Notamment à propos des dimensions. A savoir qu'elles ont l'air d'être dynamiques. Cela me permet par exemple de palier au manque de moyen pour compter les éléments inscrits réellement d'un tableau.
Pour ce faire, un déclarant un tableau à 1, 1, 1 dimension au départ puis en utilisant le retour d'une dimension afin de connaître le nombre d'éléments.

Bref, il ne faut pas s'emmêler les pinceaux mais pour le moment ça à l'air de bien fonctionner.
Il ne me reste plus qu'à faire mes tests grandeur nature  :)



Merci @tous pour vos réponses.



Pour finir, j'encourage vivement Monos à donner une suite à son tuto sur les tableaux, en poussant plus loin leurs possibilités.  ::)
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 6 février 2017 à 11:03
Bonjour poum a tu test l autre extension que je des donner  (Level-Save Object) ?

Kloug
1497 messages
Fusion 2.5
lundi 6 février 2017 à 11:07
Dans l'aide CTF, on trouve quand même pas mal d'informations très utiles, sur l'objet tableau, en décortiquant certains tutos on trouve des démarches qui peuvent être intéressantes, suivant les objectifs à atteindre lors d'un projet.

Le souci, reste la transposition d'un langage code vers l'éditeur d'événements, pas toujours évidente, je n'en disconviens pas.

Tout le charme d'un klik and play, logiciel (lol).

A+

Édit:

Pour info...
Via l'éditeur d'expressions, on peut convertir une chaîne en nombre et vice versa.

Quand il y a beaucoup de données, on passe par des chaînes alphanumériques, dont on récupère les valeurs numériques.

Exemple: "1020304050" peut devenir 10 et 20 et 30 et 40 et 50.

Bien connaître les possibilités de l'éditeur d'expressions (klik manuel page 59), est indispensable.

Je n'encourage pas Monos à donner une suite à son tuto sur les tableaux, en poussant plus loin leurs possibilités, Monos est trop brouillos.

Attention, warning, c'est de l'humour!

Poum
lundi 6 février 2017 à 14:53

Bonjour poum a tu test l autre extension que je des donner  (Level-Save Object) ?


Non. Je mettais penché sur le second qui était capable de sauvegarder en mémoire.
Ces sauvegardes sont en fait des points de restauration. D'où l'importance d'être complètement transparent.

J'ai remarqué que quelques dixième de secondes pouvaient faire planter mes déplacements.
Ainsi, il m'est impossible d'activer le choix "plein écran". Je me retrouve avec des objets qui trouvent le temps de sortir de leur zones  :D
Kloug
1497 messages
Fusion 2.5
lundi 6 février 2017 à 19:01
A mon humble avis, il y a sûrement une différence entre enregistrer le mouvement d'un objet actif, et sauvegarder des données globales (lol).

:jesors
Poum
mardi 7 février 2017 à 14:06
Bon, je galère depuis plusieurs jours et je n'arrive pas à m'en sortir.
Donc, je reviens vers vous  ::)

Ci-joint, un petit exemple MFA afin d'illustrer mon problème

Le but étant de sauvegarder (F5) les "Titi" présents dans la scène et les restaurer sur commande (F6).



Avec une petite quantité ça fonctionne mais dès qu'ils sont plus nombreux ça bug.

J'explique un peu aussi ma démarche / choix :

    Ligne 2 : étant donné que j'utilise la dimension du tableau pour connaître le nombre d'objets à sauvegarder / restaurer, je n'ai pas trouvé d'autre solution que de détruire puis reconstruire le tableau. En effet, je n'ai pas trouvé comment connaître le nombre d'éléments dans un tableau dimensionné trop grand.
    Sinon, j'aurai volontiers utilisé la commande "Effacer Tableau"[/li]
  • Ligne 5-6 : j'ai séparé ces deux lignes (les reliant avec un drapeau) car sur une même ligne j'ai l'impression que les boucles tournaient en même temps et l'ensemble entrait en conflit.



Même avec une petite quantité on peut déclencher le bug. Il suffit d'appuyer rapidement sur les touches F5 et F6 et le nombre d'objets part dans de nouvelles dimensions. Alors que logiquement ce nombre doit rester stable (sauf si une destruction lors d'une collision).

Il doit y avoir probablement une autre façon de faire mais j'avoue qu'à mon niveau je sèche.
Pouvez-vous m'aider SVP ?  :)
Pièces jointes
Kloug
1497 messages
Fusion 2.5
mardi 7 février 2017 à 20:04
Je n'utilise plus l'objet tableau, pour si peu.

:D
Pièces jointes
Poum
mardi 7 février 2017 à 20:47

Je n'utilise plus l'objet tableau, pour si peu.


;D Si seulement.

Tu penses bien que quand j'ai découvert cette instruction j'ai crié alléluia mais... non.
Comme je le disais, il y a un temps de latence, peu certes mais assez pour coincer mes mouvements et me faire planter par la suite.
Aussi, cela crée une saccade. Certes, elle n'est pas visible dans ton exemple car il ne se passe rien.

Je dois le faire en mémoire. Donc, je ne peux pas utiliser la sauvegarde de la scène (pas d’accès au DD).

Cela dit, "pour si peu", j'aimerais comprendre pourquoi mon code n'est pas blindé ::)
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 7 février 2017 à 21:35
Je n'ai pas d'ordinateur sous la main mais est-ce que F5 et F6 ne sont pas réservées par Windows ou Fusion (dans la barre de menu) ? Auquel cas, ça peut peut-être brouiller les choses.
Poum
mardi 7 février 2017 à 22:24

Je n'ai pas d'ordinateur sous la main mais est-ce que F5 et F6 ne sont pas réservées par Windows ou Fusion (dans la barre de menu) ? Auquel cas, ça peut peut-être brouiller les choses.



Euuuuh, tu m'as mis un doute en tête là  ???
Je viens de changer et non, ça n'a pas de conséquence.

En s’acharnant sur les deux touches, le nombre d'objets part en vrille.
Je sais que le problème vient de moi mais je ne vois pas d'où.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 8 février 2017 à 08:21
Si tu ne peux pas résoudre le problème en amont, code à la pelleteuse un système qui empêche le joueur de s'acharner sur les 2 touches. Invalide les touches durant quelques secondes dès que tu as appuyé sur une des deux.
Poum
mercredi 8 février 2017 à 08:36
Je disais qu'on pouvait déclencher le bug avec peu d'éléments en s'acharnant sur les touches.
Or, si l'on travail avec 200-300 objets (ce qui est le cas), le bug se produit d'office.
Kloug
1497 messages
Fusion 2.5
mercredi 8 février 2017 à 09:15
Hello!

Mes tutos sont disponibles, mais visiblement personne en comprend la quintessence.

Attention, Warning >> Humour!

"En effet, je n'ai pas trouvé comment connaître le nombre d'éléments dans un tableau dimensionné trop grand."

On utilise un X en plus pour enregistrer, le nombre d'objets, via la valeur d'un compteur ou d'une variable.

"A mon humble avis, il y a sûrement une différence entre enregistrer le mouvement d'un objet actif, et sauvegarder des données globales (lol)."

Il s'agit d'un indice, avec la sauvegarde intégrée on change le mouvement de l'objet en statique, puis on sauvegarde au moment approprié.

Cela réclame de la pratique.

Un exemple pour voir un save à la kloug aux marrons?

Pour le load à toi de jouer, je ne vais pas tout faire.

A+

Édit:
L'exemple montre le principe, pour se passer de l'index de la boucle rapide, la sauvegarde ne marche qu'une fois (variable A de l'objet "Titi" à remettre à 0).
Le compteur 2, permet de connaître le nombre d’index(s) utilisés (objet tableau), donc le nombre d'objets enregistrés, lors de la boucle rapide.
Pièces jointes
Poum
mercredi 8 février 2017 à 09:32

Mes tutos sont disponibles, mais visiblement personne en comprend la quintessence.


Contrairement à celui de Mono, je ne les ai pas trouvé.
As-tu le lien STP ?
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 8 février 2017 à 09:55
Bon sang mais pourquoi tu crée un objet tableau en ligne 2, alors qu'il y a déjà un tableau sur la scène ?
Fusion ne sais pas lequel incrémenter !
Kloug
1497 messages
Fusion 2.5
mercredi 8 février 2017 à 09:57
Oui bien sûr.

http://clickmoteur.blogspot.fr/2012/10/klik-examples-for-tgf-mmf.html

http://clickmoteur.blogspot.fr/2012/04/serie-newbie-tutorial-pour-tgf2-et-mmf2.html

http://clickmoteur.blogspot.fr/2014/07/serie-legende-du-big-tutorial.html

Je t'ai déjà proposé un save load via l'objet tableau. >> Legende n°
3.
Poum
mercredi 8 février 2017 à 10:01

Bon sang mais pourquoi tu crée un objet tableau en ligne 2, alors qu'il y a déjà un tableau sur la scène ?
Fusion ne sais pas lequel incrémenter !


Je ne savais pas comment faire pour gérer les dimensions. Les mettre à 1.
En sommes, c'est juste pour que le nombre d'éléments forcent la dimension en Y du tableau.

Cela dit, le fait de le détruire et reconstruire pourra emmêler les pinceaux à Fusion ?
Si seulement on pouvait les redimensionner.



Oui bien sûr.

Merci, je vais regarder ça.
Faudra juste que j'évite les accès au DD.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 8 février 2017 à 10:08
Qui peut le plus, peu le moins...
Fais ton tableau à 1000x1000 et pis zou, il ne remplira que le necessaire.
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 49 visiteurs au total

Derniers messages