2013年4月11日木曜日

Raspberry Pi用にScratch.imageを改造する

前回の作業で、今まで他のLinuxで使っていた、改造されたScratchがRaspberry Piで動かないことがわかり、twitterでつぶやいたところ、Scratch Day 2013 in Tokyoの準備などでお忙しい@abee2さんから情報を頂きました。結論だけ言うと、Raspberry Piに含まれるScratchは特別なものであるため、他のScratchイメージを持ち込んでもうまく動かない可能性があるということでした。そこで、初体験ではありますが、Scratch.imageの改造をやってみることにしました。

改造と言っても、既に作成して頂いている.csファイルをRaspberry Pi付属のScratch.imageに組み込むだけです。参考にしたのは、「チェンジセット(差分集合)の書き出しと読み込みの方法」です。今回改造したScratchイメージファイルは、ScratchMyu4RPi.imageとScratchMotors4RPi.imageという名前にしましたが、改造の内容をまとめると以下のようになります。
まず、SensorBoardWithMotorからWeDoLight.1.csを書き出します。作業はMacBookでやりましたが、「チェンジセット(差分集合)の書き出し…」を参考にして難なくクリア出来ました。Macの場合は、「マウスの右ボタンをクリック」ではなく、項目を選択するとウィンドウの左側にスクロールバーが表示され、その上にスイッチらしきものが表示されるので、それをクリックします。また、特にSqueakVMとの関係を気にする必要がなく、Raspberry Piから持ってきたScratch.imageファイル(/usr/share/scratch/に入っていた)をダブルクリックするだけで勝手にSqueakVMで開いてくれました。予め「Scratch.image」を「ScratchMyu4RPi.image」などのように、別名で保存しておくとわかりやすいと思います。今回は、2つのイメージファイルを作ったため、別の名前で2つのイメージファイルを作ってから作業をしました。

問題は、チェンジセットを読み込ませたいScratchイメージファイルから起動して、シフトキーを押しながら「ファイル」メニューを開いても、「Exit User Mode」という項目が出てこないことです。そこで、よく知られた裏ワザとして、シフトキーを押しながら「SCRATCH」のロゴの「R」をクリックするという方法を使いました。シフトキーを押しながら「R」をクリックすると小さなメニューが表示されます。その中から「turn fill screen off」を選ぶとScratchの窓が少し小さくなって、右下にSqueakのデスクトップ(ワールド)が表示されます。あとは先述の「チェンジセット(差分集合)の書き出し…」を参考にして作業をすれば問題ありません。作業が終わったら、再びシフトキーを押しながら「R」をクリックし、「turn fill screen on」を選択してユーザモードに戻します。最後に、同じくシフトキーを押しながら「R」をクリックして、出てきたメニューの中から「save image for end-user」を選んで変更した内容を保存すれば、改造したScratchイメージファイルの出来上がりです。

こうして作ったイメージファイルをRaspberry Piに持ち込んだところ、無事に動いてくれました。\(^o^)/
起動からLXDEメニューへの登録まで出来ましたが、詳細は後日書くことにします。

0 件のコメント: