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' | ||
| + | |||
| + | < | ||