Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
projets:gdevelop-osc:accueil [2019/07/15 18:09] laurent [Tutoriel] |
projets:gdevelop-osc:accueil [2019/07/15 19:10] (Version actuelle) laurent [Principes de fonctionnement] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
* Porteur du projet : Laurent | * Porteur du projet : Laurent | ||
* Date : 15/07/2019 | * Date : 15/07/2019 | ||
* Licence : libre ! | * Licence : libre ! | ||
- | * Contexte : | + | * Contexte : oui |
- | * Fichiers : lien | + | * Fichiers : {{ : |
- | * Lien : lien vers un site éventuellement | + | |
Ligne 16: | Ligne 15: | ||
===== Technos ===== | ===== Technos ===== | ||
- | Pour pouvoir répondre à une requête GET ou POST envoyée par Gdevelop, il faut utiliser un serveur web. L' | + | Pour pouvoir répondre à une requête GET ou POST envoyée par Gdevelop, il faut utiliser un serveur web. L' |
Côté hardware, n' | Côté hardware, n' | ||
Ligne 26: | Ligne 25: | ||
Dans le cas où plusieurs données sont empaquetées dans le même message OSC, des adresses web seront automatiquement créées et numérotées (ex : "/ | Dans le cas où plusieurs données sont empaquetées dans le même message OSC, des adresses web seront automatiquement créées et numérotées (ex : "/ | ||
- | Pour récupérer les données dans Gdevelop il suffit donc de créer un évènement | + | Pour récupérer les données dans Gdevelop il suffit donc de créer un évènement |
- | ===== Photos ===== | + | En cas de problème, il peut être utile d' |
- | Autres photos, galerie, ... | + | |
+ | ===== code ===== | ||
+ | <code python> | ||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | |||
+ | from flask import Flask | ||
+ | from flask_cors import CORS # Cross Origin Resource Sharing, needed by gdevelop | ||
+ | import liblo | ||
+ | |||
+ | OSClisteningPort = 9002 | ||
+ | |||
+ | app = Flask(__name__) | ||
+ | CORS(app) | ||
+ | database = {} | ||
+ | |||
+ | @app.route('/< | ||
+ | def variable(name): | ||
+ | global database | ||
+ | name = "/" | ||
+ | if name not in database : | ||
+ | print(name," | ||
+ | database.update({name: | ||
+ | try : return str(database[name]) | ||
+ | except Exception as e : return str(e) # data couldnt be stringified | ||
+ | | ||
+ | def OSCunknownAddress(add, | ||
+ | global database | ||
+ | if len(data) == 1 : | ||
+ | database.update({add : data}) | ||
+ | if add not in database : print (" | ||
+ | else : | ||
+ | for i in range(len(data)) : | ||
+ | address = add + str(i+1) | ||
+ | if address not in database : print (" | ||
+ | database.update({address : data[i]}) | ||
+ | |||
+ | if __name__ == ' | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== exemple ===== | ||
+ | L' | ||
+ | Le paramètre orientation du téléphone envoie trois données, respectivement l' | ||
+ | |||
+ | < |