Aujourd’hui, un petit billet pour vous parler de mes activités de ce weekend. J’ai décidé de passer un peu de temps à faire quelques tests avec le serveur WiiFlash. Ce serveur, développé en C#, permet de connecter une Wiimote à votre PC (ou Mac).

La première chose à faire, pour tester la Wiimote, c’est d’en obtenir une. Ce qui n’a pas été chose aisée. N’étant pas possesseur de la console, j’ai naïvement cru que je trouverais facilement la commande dans mon Hyper Carrefour du coin. Hé ben non… ils n’en avaient pas… et n’avaient apparemment pas envie de m’aider car j’ai eu beau demander à plusieurs vendeurs, personne ne semblait au courant et chacun me renvoyait d’un côté à l’autre du magasin. Je suis finalement tombé sur un sympa qui est allé voir en réserve et qui m’a confirmé que non, pas possible, peut-être mercredi prochain !

Je me suis donc tourné vers une galerie célèbre avec un logo bleu à 4 lettres commençant par Co et terminant par ra… et là, de nouveau, le vide dans les rayons. Mais heureusement, il y en avait encore une de planquée sous le comptoir. Pour info, 39€ ttc… je n’ai pas fais de comparatif, c’est peut-être moins cher ailleur.

J’ai donc pu, le soir, commencer mes tests.

J’ai téléchargé le serveur wiiflash et les exemples allant avec. Car bien sur, ce qui m’intéresse, c’est de pouvoir utiliser Flash avec une wiimote… sans toutes les limites imposées par Opera pour Wii. Je reviendrai la dessus dans un autre billet.

Donc, le serveur qui n’est qu’un exécutable (même pas besoin d’instal), est accompagné d’une api en AS3 qui permet de connecter Flash au serveur. Je n’ai pas encore été voir ce qui se trouve derrière la méthode connect… j’irai voir plus tard et vous tiendrai au courant.

Mais c’est tellement simple d’utilisation que ça en est presque vexant :) En tout cas, dans un premier temps. Car ce que permet la wiimote, c’est de détecter les accélérations sur les 3 axes plus d’autres mouvements de rotation mais pas réellement les déplacements du curseur. En tout cas, pas en natif dans l’api Flash. Par contre, le serveur permet de substituer la wiimote à la souris… ce qui n’est déjà pas si mal.

Mais pour ce faire, il vous faut l’ IR Sensor Bar… Infra Red Sensor Bar… qui n’a rien de « sensor » puisque ce n’est rien d’autre qu’une série de leds qui émettent de la lumière infra rouge. Cette lumière, émise en plusieurs points (2, je crois) permet à la manette de « trianguler » sa position et de la renvoyer au serveur (ou à la Wii).

Encore une fois, je me trouvais démunis… je n’avais pas prévu (car pas préparé le coup) d’avoir besoin de cette IR Sensor Bar. Après quelques recherches sur le net, j’ai pu découvrir que plusieurs personnes avaient bidouillé pour simuler cette sensor bar… et que même avec 2 bougies, ça devait fonctionner.

En effet, ça marche ;)

Et donc, sans rien faire de plus que de placer 2 sources lumineuses à côté de votre écran et un click droit sur l’icone du serveur, vous avez la possibilité d’utiliser une Wiimote à la place de votre souris.

Et pour récupérer les coordonnées de votre « point » dans Flash, il « suffit » d’utiliser la classe IR de l’api wiiflash.

Voilà donc ou j’en suis pour l’instant… je permute souris et wiimote sans Flash et je récupère les valeurs récupérables dans Flash.
Reste à implémenter tout ça pour que ça donne quelque chose d’utilisable. J’arrive à faire bouger un point dans une anim Flash avec l’api mais ça reste assez sommaire… perte des coordonnées et donc du curseur à l’approche des bords de la scène.

Par contre, la solution souris/wiimote fonctionne pas mal dans les jeux basiques ou les applications Flex/Flash. Reste à pouvoir utiliser toutes les possibilités d’accélérations/rotations pour enrichir tout ça.

Suite de mes tests dans les prochains billets, j’espère.

ps: en tapant wiiflash dans Google, vous tomberez sur pas mal d’exemples et de vidéos dont certaines assez bluffantes avec PaperVision3D