Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Tutoriels d'utilisation de gint (commentaires)
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Tutoriels d'utilisation de gint (commentaires)

Posté le 15/07/2017 13:54

Les tutoriels d'utilisation de gint sont sur ce topic.

Pour garder les tutoriels ensemble dans les posts du topic d'origine (et surtout pas créer un topic par tuto...), je vous propose de poster vos questions/commentaires/etc ici. Merci !


Précédente 1, 2, 3 ··· 10 ··· 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 Suivante
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/12/2021 23:40 | #


Non il est uniquement Initialisé avec la ligne this->canvas = ((CanvasUI*)tempParent->gameObject->GetComponent("CanvasUI"));
this->canvas est à NULL de base non ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 17/12/2021 23:44 | #


Non, ce n'est le cas que pour les objets globaux ! Les objets créés sur la pile et le tas ont des octets aléatoires au moment de l'allocation, et si tu ne les assignes pas explicitement tu n'as pas NULL automatiquement.

Pas besoin d'aller chercher très loin :

ButtonUI(...) : MonoBehaviour("ButtonUI", gameObject, UUID), sprite(NULL) {
    // ...
};

Je crois que tu peux même laisser les parenthèses vides, mais bon à ce niveau on n'y gagne pas grand-chose.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/12/2021 23:48 | #


Ha c'est pour ça, sur les fx ça fait automatiquement donc c'est pour ça que j'avais pas de problème
Sinon ça c'est équivalent à ta ligne ?

ButtonUI(GameObject* gameObject, Texture* NormalTexture, Texture* HighlightedTexture, const char* UUID = NULL) : MonoBehaviour("ButtonUI", gameObject, UUID) {
        ...
        this->sprite = NULL;
    };

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 17/12/2021 23:55 | #


Ce n'est pas automatique sur la Graph mono non plus, on parle de la sémantique du C++. Mais sur la Graph mono ça devait tomber en marche par chance...

Oui c'est ça. Regarde les listes d'initialisation des constructeurs si ça t'intéresse, sinon tu peux prendre la forme explicite aussi
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/12/2021 23:58 | #


Ok ok bon bah merci beaucoup en tout cas !

Ajouté le 20/12/2021 à 15:11 :
Hello !
Je suis en train de chercher comment lire et écrire des donner et les seuls choses que j'ai trouvé c'est ça :
Memory
Gérer les fichiers en C
Et je voulais savoir si c'est toujours fonctionnel et si c'est compatible pour Graph 90 aussi.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/12/2021 15:23 | #


Ouais alors non le premier c'est no-no et le second c'est pas trop dans le style de gint (les fonctions sont nommées différemment et il y a quelques différences).

Je suis en train de refaire ce système (pour Graph 35+E II et Graph 90+E). Pour l'instant sur gint dev tu as l'API Unix pour la gestion des fichiers (ie. open(), read(), write(), etc). Aujourd'hui je suis en train d'ajouter la gestion des dossiers. Et ensuite je m'occuperai de l'API standard C (ie. fopen(), fread(), fwrite(), etc). Je te conseille soit d'utiliser l'API Unix qui est sur gint dev soit d'attendre que ça se stabilise avant de le faire.

Même si tu utilises Bfile sur la Graph mono, il y a des différences à la con entre l'implémentation mono pré-Graph 35+E II, l'implémentation Graph 35+E II, et l'implémentation Graph 90+E. Si tu tiens vraiment à le faire avec BFile, lis <gint/bfile.h> (ici sur dev, j'ai mis à jour récemment).

Dans tous les cas : c'est pas totalement trivial, il faut faire attention aux modèles, et si tu veux supporter autre chose que la Graph 35+E II et la Graph 90+E avec tes fichiers tu vas te payer les immondes du fs original de Casio.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 20/12/2021 15:42 | #


Pour l'instant je fais des tests pour la Graph 90.
Donc je vais utiliser API Unix comme tu me le conseille.
Il y a moyen de lire un fichier ligne à ligne ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/12/2021 15:47 | #


Farhi a écrit :
Il y a moyen de lire un fichier ligne à ligne ?

Non il faut la libc pour ça :x
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gladosse Hors ligne Membre Points: 229 Défis: 2 Message

Citer : Posté le 08/01/2022 10:18 | #


In this function

static int get_inputs(void)
{
    int opt = GETKEY_DEFAULT & ~GETKEY_REP_ARROWS & ~GETKEY_MOD_SHIFT & ~GETKEY_MOD_ALPHA;
    int timeout = 1;

    while(1)
    {
        key_event_t ev = getkey_opt(opt, &timeout);
        if(ev.type == KEYEV_NONE) return -1;

        return ev.key;
    }
}

can we make it work if the keys are held pressed without releasing it and still registering it every frame? like for continuous movement
all my movement code is here https://gitea.planet-casio.com/Gladosse/Minesweeper/src/branch/master/src/main.c
sorry if it's in english, my french is limited, you can answer in french
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 08/01/2022 10:34 | #


Well that's the goal of GETKEY_REP_ARROWS which you disabled: it repeats the key press every so often. You can change the delay with repeat_getkey().

However, getkey() is designed with GUI-like applications in mind, in the sense that keyboard events are used to schedule the application. Since you already have your own 40-FPS frame system, you will probably end up fighting it over the ability to manage your timing, so you should probably use events directly instead.

You can simply read from the event queue with pollevent() at each frame, which will inform you of every key press and release that occured since your last poll. You can act on this information right away, or you can wait after you've read all the events and then use the keydown() function which reminds you of which key you have been told is pressed (*).

(* The keydown() function does not tell you the absolute state of the key, but the state as reported by the events you've polled so far. This distinction is important to allow switching to/from getkey(), and it makes no difference as long as you read events before using keydown().)

This function would return any arrow key that is currently pressed, or -1:

static int get_inputs(void)
{
    // Read events
    key_event_t ev;
    while((ev = pollevent()).type != KEYEV_NONE) {
        // Here you could analyze key presses/releases for the frame
    }
    // Or use this shortcut if you don't check the contents of the events,
    // which is equivalent to the empty loop above:
    // clearevents();

    // Now that you're up-to-date, you can use keydown() to check if a key is pressed
    if(keydown(KEY_LEFT))
        return KEY_LEFT;
    if(keydown(KEY_RIGHT))
        return KEY_RIGHT;
    if(keydown(KEY_UP))
        return KEY_UP;
    if(keydown(KEY_DOWN))
        return KEY_DOWN;
    return -1;

This is not exactly the same logic as getkey(), however I think this will make things easier for your program, especially since you would now be able to detect diagonal movement (some models' directional pads can input diagonals very easily).

No problem with English (I really thought you were a French native too!)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gladosse Hors ligne Membre Points: 229 Défis: 2 Message

Citer : Posté le 08/01/2022 10:47 | #


Merci pour ton aide! A l'ecrit je me debrouille pas mal
En plus c'est beaucoup plus rapide
Zecter Hors ligne Membre Points: 167 Défis: 0 Message

Citer : Posté le 18/06/2022 19:09 | #


Yo yo ! Salut ! J'essaie d'apprendre à me servir de fxSDK pour développer. J'ai déjà téléchargé tous les trucs nécessaires, j'ai même crée le projet, mais je me demandais comment on écrit du code en C sur WSL (je n'ai pas de PC Linux, je suis sur Windows) ? Parce que d'après ce que j'ai compris, il n'y a pas d'IDE qui vient avec le fxSDK ?
Oui.
Langages appris (pas tous complètement)
Cliquer pour enrouler
- Python
- Java
- Basic Casio
- C
- OCaml

J'ai une Casio Graph 90+E.
Ma citation favorite
Cliquer pour enrouler
« La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein


Remerciemembres
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 18/06/2022 19:12 | #


C'est exact. Tu peux utiliser un éditeur de texte ou un IDE de ton choix, par exemple j'utilise Sublime Text, mais tu peux aussi utiliser eg. VS Code (tu auras alors tous les outils liés au C pur, juste pas d'outils pour exécuter/debugger).

Si tu peux accéder au système de fichiers de WSL tu pourrais aussi éditer directement avec ton IDE favori sous Windows.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1255 Défis: 2 Message

Citer : Posté le 18/06/2022 19:12 | #


Tu peux utiliser nano ou vi sur ton fichier : ‘nano main.c’
Après pour un « vrai » IDE tu peux te tourner vers Visual Studio Code mais il te faudra un gestionnaire de fenêtres pour WSL pour l’ouvrir !
Globalement, coder. Mal, mais coder.
Zecter Hors ligne Membre Points: 167 Défis: 0 Message

Citer : Posté le 18/06/2022 19:52 | #


Ah ok merci ! J'avais effectivement lu quelque part que WSL ne venait pas avec la version graphique. Par contre j'avais vu (en cours de NSI) comment modifier des fichiers texte avec nano, mais je savais pas que ça marchais avec du code aussi ! Merci @Potter360
Oui.
Langages appris (pas tous complètement)
Cliquer pour enrouler
- Python
- Java
- Basic Casio
- C
- OCaml

J'ai une Casio Graph 90+E.
Ma citation favorite
Cliquer pour enrouler
« La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein


Remerciemembres
Potter360 Hors ligne Rédacteur Points: 1255 Défis: 2 Message

Citer : Posté le 18/06/2022 22:38 | #


De rien ! En soi le code est un fichier texte comme les autres !
Globalement, coder. Mal, mais coder.
Zecter Hors ligne Membre Points: 167 Défis: 0 Message

Citer : Posté le 19/06/2022 16:22 | #


Héhé je suis de retour ! Alors j'ai suivi le tuto sans problème jusqu'à où il faut envoyer l'add-in à la calto. Là, j'ai branchée la mienne (Graph 90+E, oui j'ai compilé avec "fxsdk build-cg") avec le cable USB à mon PC, et j'ai fait "fxsdk send-cg" et là j'ai eu une erreur qui me dit :
<fxSDK> Installing for fx-CG using fxlink
<fxSDK> Running: fxlink -sw ./MystNB.g3a
error: cannot open udisks2 client: Could not connect: No such file or directory

Je suis sur WSL pour rappel. Qqn peut m'aider ?
Oui.
Langages appris (pas tous complètement)
Cliquer pour enrouler
- Python
- Java
- Basic Casio
- C
- OCaml

J'ai une Casio Graph 90+E.
Ma citation favorite
Cliquer pour enrouler
« La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein


Remerciemembres
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 19/06/2022 16:24 | #


fxlink ne marche pas sous WSL, il faut que tu copies le fichier à la main. C'est comme pour les scripts Python, rien de bien violent ; fxlink aide juste à l'automatiser quand t'es sous Linux pour gagner du temps.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Zecter Hors ligne Membre Points: 167 Défis: 0 Message

Citer : Posté le 19/06/2022 16:25 | #


Ok dans ce cas-là, ma question devient : comment j'accède aux fichiers de la calto branchée en USB sur WSL ?
Oui.
Langages appris (pas tous complètement)
Cliquer pour enrouler
- Python
- Java
- Basic Casio
- C
- OCaml

J'ai une Casio Graph 90+E.
Ma citation favorite
Cliquer pour enrouler
« La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein


Remerciemembres
Lephenixnoir Hors ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 19/06/2022 16:28 | #


Tu n'as WSL qu'en console right ? Ca va être un peu compliqué. Je crois que le plus simple c'est de sortir le fichier de WSL vers Windows (tu dois avoir accès à la partition Windows via /mnt/c, un truc comme ça) et ensuite copier comme tu le fais d'habitude via Windows.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Zecter Hors ligne Membre Points: 167 Défis: 0 Message

Citer : Posté le 19/06/2022 16:32 | #


Effectivement je suis en console. Je vais essayer ça et je te dit dans 1-2 min.

P.S. : Je le copie à la racine de la calto ?
Oui.
Langages appris (pas tous complètement)
Cliquer pour enrouler
- Python
- Java
- Basic Casio
- C
- OCaml

J'ai une Casio Graph 90+E.
Ma citation favorite
Cliquer pour enrouler
« La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein


Remerciemembres
Précédente 1, 2, 3 ··· 10 ··· 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 72 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd