ARDrone for AS3 がモバイルAIRでも使えるようになったので…


Drone

先日公開された Adobe AIR 3.8 Beta から DatagramSocket(UDPソケット)がモバイルAIRでも使えるようになったということだったので…
DatagramSocket を使用してデータの送受信を行っている AR.Drone を AIR for iOS で飛ばせるかどうか試してみました。

※ Adobe AIR 3.8β についての新機能はこちらにわかりやすく書かれています。

AIR で AR.Drone を飛ばす試みは以前のエントリーでいろいろ書いていましたが、AIR 3.7 までは DatagramSocket がデスクトップAIRでしか使用できなかったため、Drone を飛ばす際、飛行操作は iPhone や iPad でできても、モバイルAIRではDroneと直接通信する手段がなかったため…
Droneとモバイル端末の間にデスクトップAIRのアプリを起動したパソコンを挟む必要がありました。

これだと、Drone を飛ばすAIRアプリを自作したところで、飛行テストを行うためにはMacも一緒に持っていかないといけないというなんとなく間抜けな光景になってしまうため、モバイルでの DatagramSocket の使用を実は待ち望んでいました。

まぁ待ち望んでいたといいながら、時間が経ちすぎてこの件についてはほぼ忘れかけていたのですが…

そんな昨今、AIR がまたバージョンアップされて、AIR 3.8β が登場しました。
そして何と、このバージョンからからは DatagramSocket をモバイルAIRのアプリでも使用できるではないですか!

ちょうど時期的に仕事も全くなく、毎日ゲームばかりやっているニート状態の僕としては試さない手はありませんので、以前書いたコードを引っぱりだしてきてモバイル用のソースを DatagramSocket を使用して iPhone / Drone 間で通信できるようにささっと書き換えてみたら…
ARDrone for AS3 + AIR for iOS だけで無事飛ばすことができました。

というわけで…

やっとモバイル端末だけで Drone を飛ばせるところまでいったので(といっても AIR が対応しただけなのですが…)、現状の ARDrone for AS3 のソースを下記に公開しておきます。
書きっぱなしジャーマンなコードなので読むに堪えないかもしれませんが…

mousepancyo / ARDrone-for-AS3・GitHub

これでほぼ一年くらい開発が止まっていた ARDrone for AS3 を、また再開してみようかなと考えているところなのですが、思い返してみると Drone からのビデオ映像取得部分で思いっきりつまずいて開発を止めたことを思い出したので…
誰かこのビデオ取得の部分を作ってくれませんかね?