OOoCalcRTCのチュートリアル(その3)

このチュートリアルではCalcで作成した簡単なブロック崩しゲームをOpenRTM-aist-PythonのサンプルコンポーネントSliderCompで操作します。

インストール

まずはこのページからデモプログラム1をダウンロードしてください。

BlockBall.py

Windows、Apache OpenOffice 3.4.1の場合


C:\Users\ユーザー名\AppData\Roaming\OpenOffice.org\3\user\Scripts\python

Windows、Apache OpenOffice 4.1.1の場合

C:\Users\ユーザー名\AppData\Roaming\OpenOffice\4\user\Scripts\python

Ubuntu10.10以前の場合

~/.openoffice.org/3/user/Scripts/python

Ubuntu11.04以降の場合

~/.config/libreoffice/3/user/Scripts/python

にコピーします。

※AppDataフォルダ、.openoffice.orgフォルダは隠しディレクトリになっています。Windowsの場合はパスを直接入力するか整理→フォルダと検索のオプション→表示から設定を変更してください。Ubuntuの場合はファイルブラウザ上のメニューより表示→隠しファイルを表示するを選択してください。

さらにBlockBallGame.oxtをダブルクリックしてOpenOfficeに拡張機能を追加してください。

Ubuntu10.10以前の場合は、


unopkg add OOoCalcControlRTC.oxt

Ubuntu11.04以降の場合は、

/usr/lib/libreoffice/program/unopkg add OOoCalcControlRTC.oxt

で追加できます。

前準備

このページに従ってネームサーバー、RTシステムエディタの起動を行ってください。

テスト用RTCの起動

OpenRTM-aist-Python付属のSliderCompを起動します。

OpenRTM-aist 1.1

Ubuntuの場合は端末から以下の入力をしてください。

python /usr/share/openrtm-1.1/example/python/Slider_and_Motor/SliderComp.py

SliderCompはTimedFloatSeq型のDataOutPortをスライダーのGUIにより出力データを操作できます。

このチュートリアルで使用するのは左端のスライダーだけです。

OOoCalcRTCの起動

デモプログラムのOOoCalcGame.odsを開いてRTC起動ボタンを押してください。
この際パスが同じであればSliderCompと自動的に接続されますが、接続できなかった場合は以下の作業が必要です。

まずチュートリアル1と同じくダイアログを起動してツリー作成ボタンを押します。
ここで以下の設定を行ってください。

この設定でSheet2のA1のセルにSliderCompで入力した値を書き込みます。
この値をBlockBall.pyのマクロで読み込んでバーを操作します。

作成ボタンを押したらダイアログを閉じてください。

そして、RTシステムエディタのダイアグラムに表示してアクティブにしてください。

最後にOOoCalcGame.odsのSheet2を開いて開始ボタンを押せばゲームが開始するのでスライダーを動かして操作してください。

原因はよくわかりませんがフリーズすることがよくあります。終了ボタンを一応設置してありますが、ゲームが動いた状態で右上の×ボタンを押して終了することをお勧めします。

ブロックの位置の設定

Sheet3のA9:H16の範囲の1のセルにブロックが存在するようにしています。